#ifndef SHAPE_DATA_INC
#define SHAPE_DATA_INC
/*
Szymon Rusinkiewicz
Princeton University

shape_data.inc
Data for a variety of polyhedra, plus the teapot.

Teapot data is from
 Crow, Frank.
 "The Origins of the Teapot,"
 IEEE Computer Graphics and Applications, Volume 7, Issue 1, January 1987.
based on the original data by Martin Newell.
*/

static const float sqrt2  = 1.41421356f;
static const float sqrt6  = 2.44948974f;
static const float sqrt8  = 2.82842712f;
static const float phi    = 1.61803399f;
static const float phibar = 0.61803399f;

// Platonic solids
static const float tetrahedron_verts[] = {
	0, 0, 3,
	sqrt8, 0, -1,
	-sqrt2, sqrt6, -1,
	-sqrt2, -sqrt6, -1,
};
static const int tetrahedron_faces[] = {
	3, 0, 1, 2,
	3, 2, 1, 3,
	3, 2, 3, 0,
	3, 0, 3, 1,
};
static const float cube_verts[] = {
	-1, -1, -1,
	-1,  1, -1,
	1,  1, -1,
	1, -1, -1,
	1, -1,  1,
	1,  1,  1,
	-1,  1,  1,
	-1, -1,  1,
};
static const int cube_faces[] = {
	4, 0, 1, 2, 3,
	4, 5, 4, 3, 2,
	4, 4, 5, 6, 7,
	4, 1, 0, 7, 6,
	4, 6, 5, 2, 1,
	4, 0, 3, 4, 7,
};
static const float octahedron_verts[] = {
	1, 0, 0,
	0, 1, 0,
	0, 0, 1,
	-1, 0, 0,
	0, -1, 0,
	0, 0, -1,
};
static const int octahedron_faces[] = {
	3, 0, 1, 2,
	3, 0, 2, 4,
	3, 0, 4, 5,
	3, 0, 5, 1,
	3, 3, 2, 1,
	3, 3, 1, 5,
	3, 3, 5, 4,
	3, 3, 4, 2,
};
static const float dodecahedron_verts[] = {
	-1, -1, -1,
	-1,  1, -1,
	 1,  1, -1,
	 1, -1, -1,
	 1, -1,  1,
	 1,  1,  1,
	-1,  1,  1,
	-1, -1,  1,
	 phi,  phibar, 0,
	 phi, -phibar, 0,
	-phi, -phibar, 0,
	-phi,  phibar, 0,
	 phibar, 0,  phi,
	-phibar, 0,  phi,
	-phibar, 0, -phi,
	 phibar, 0, -phi,
	0,  phi,  phibar,
	0,  phi, -phibar,
	0, -phi, -phibar,
	0, -phi,  phibar,
};
static const int dodecahedron_faces[] = {
	5, 13, 12, 5, 16, 6,
	5, 12, 13, 7, 19, 4,
	5, 12, 4, 9, 8, 5,
	5, 9, 4, 19, 18, 3,
	5, 2, 17, 16, 5, 8,
	5, 0, 14, 15, 3, 18,
	5, 0, 10, 11, 1, 14,
	5, 0, 18, 19, 7, 10,
	5, 7, 13, 6, 11, 10,
	5, 3, 15, 2, 8, 9,
	5, 1, 17, 2, 15, 14,
	5, 1, 11, 6, 16, 17,
};
static const float icosahedron_verts[] = {
	0, -1,  phi,
	0,  1,  phi,
	0, -1, -phi,
	0,  1, -phi,
	 phi, 0,  1,
	 phi, 0, -1,
	-phi, 0,  1,
	-phi, 0, -1,
	 1,  phi, 0,
	 1, -phi, 0,
	-1,  phi, 0,
	-1, -phi, 0,
};
static const int icosahedron_faces[] = {
	3, 0, 4, 1,
	3, 0, 9, 4,
	3, 9, 5, 4,
	3, 4, 5, 8,
	3, 4, 8, 1,
	3, 8, 10, 1,
	3, 8, 3, 10,
	3, 5, 3, 8,
	3, 5, 2, 3,
	3, 2, 7, 3,
	3, 7, 10, 3,
	3, 7, 6, 10,
	3, 7, 11, 6,
	3, 11, 0, 6,
	3, 0, 1, 6,
	3, 6, 1, 10,
	3, 9, 0, 11,
	3, 9, 11, 2,
	3, 9, 2, 5,
	3, 7, 2, 11,
};

// Archimedean solids
static const float truncated_tetrahedron_verts[] = {
	0, 0, 1.10554,
	0.8528029, 0, 0.703527,
	-0.7106691, 0.4714045, 0.703527,
	0.3316456, -0.7856742, 0.703527,
	0.9949367, 0.4714045, -0.100504,
	-1.089693, 0.1571348, -0.100504,
	-0.5685352, 0.942809, -0.100504,
	-0.04737794, -1.099944, -0.100504,
	0.6159132, 0.1571348, -0.904534,
	0.2842676, 0.942809, -0.502519,
	-0.758047, -0.6285394, -0.502519,
	0.09475587, -0.6285394, -0.904534,
};
static const int truncated_tetrahedron_faces[] = {
	3, 0, 3, 1,
	3, 2, 6, 5,
	3, 4, 8, 9,
	3, 7, 10, 11,
	6, 0, 1, 4, 9, 6, 2,
	6, 0, 2, 5, 10, 7, 3,
	6, 1, 3, 7, 11, 8, 4,
	6, 5, 6, 9, 8, 11, 10,
};
static const float cuboctahedron_verts[] = {
	0, 0, 1.1547,
	1., 0, 0.57735,
	0.3333333, 0.942809, 0.57735,
	-1., 0, 0.57735,
	-0.3333333, -0.942809, 0.57735,
	1., 0, -0.57735,
	0.6666667, -0.942809, 0,
	-0.6666667, 0.942809, 0,
	0.3333333, 0.942809, -0.57735,
	-1., 0, -0.57735,
	-0.3333333, -0.942809, -0.57735,
	0, 0, -1.1547,
};
static const int cuboctahedron_faces[] = {
	3, 0, 1, 2,
	3, 0, 3, 4,
	3, 1, 6, 5,
	3, 2, 8, 7,
	3, 3, 7, 9,
	3, 4, 10, 6,
	3, 5, 11, 8,
	3, 9, 11, 10,
	4, 0, 2, 7, 3,
	4, 0, 4, 6, 1,
	4, 1, 5, 8, 2,
	4, 3, 9, 10, 4,
	4, 5, 6, 10, 11,
	4, 7, 8, 11, 9,
};
static const float truncated_cube_verts[] = {
	0, 0, 1.04201,
	0.5621693, 0, 0.877355,
	-0.4798415, 0.2928932, 0.877355,
	0.2569714, -0.5, 0.877355,
	0.8773552, 0.2928932, 0.479841,
	-0.9014684, 0.2071068, 0.479841,
	-0.5962706, 0.7071068, 0.479841,
	0.1405423, -0.9142136, 0.479841,
	1.017898, 0.2071068, -0.0823278,
	0.7609261, 0.7071068, 0.0823278,
	-1.017898, -0.2071068, 0.0823278,
	-0.2810846, 1., 0.0823278,
	-0.2810846, -1., 0.0823278,
	0.2810846, -1., -0.0823278,
	0.9014684, -0.2071068, -0.479841,
	0.2810846, 1., -0.0823278,
	-0.7609261, -0.7071068, -0.0823278,
	-0.8773552, -0.2928932, -0.479841,
	-0.1405423, 0.9142136, -0.479841,
	0.5962706, -0.7071068, -0.479841,
	0.4798415, -0.2928932, -0.877355,
	-0.5621693, 0, -0.877355,
	-0.2569714, 0.5, -0.877355,
	0, 0, -1.04201,
};
static const int truncated_cube_faces[] = {
	3, 0, 3, 1,
	3, 2, 6, 5,
	3, 4, 8, 9,
	3, 7, 12, 13,
	3, 10, 17, 16,
	3, 11, 15, 18,
	3, 14, 19, 20,
	3, 21, 22, 23,
	8, 0, 1, 4, 9, 15, 11, 6, 2,
	8, 0, 2, 5, 10, 16, 12, 7, 3,
	8, 1, 3, 7, 13, 19, 14, 8, 4,
	8, 5, 6, 11, 18, 22, 21, 17, 10,
	8, 8, 14, 20, 23, 22, 18, 15, 9,
	8, 12, 16, 17, 21, 23, 20, 19, 13,
};
static const float truncated_octahedron_verts[] = {
	0, 0, 1.05409,
	0.6324555, 0, 0.843274,
	-0.421637, 0.4714045, 0.843274,
	-0.07027284, -0.6285394, 0.843274,
	0.843274, 0.4714045, 0.421637,
	0.5621827, -0.6285394, 0.632455,
	-0.9135469, 0.3142697, 0.421637,
	-0.2108185, 0.942809, 0.421637,
	-0.5621827, -0.7856742, 0.421637,
	0.9838197, 0.3142697, -0.210818,
	0.421637, 0.942809, 0.210818,
	0.7027284, -0.7856742, 0,
	-0.7027284, 0.7856742, 0,
	-0.9838197, -0.3142697, 0.210818,
	-0.421637, -0.942809, -0.210818,
	0.5621827, 0.7856742, -0.421637,
	0.9135469, -0.3142697, -0.421637,
	0.2108185, -0.942809, -0.421637,
	-0.5621827, 0.6285394, -0.632455,
	-0.843274, -0.4714045, -0.421637,
	0.07027284, 0.6285394, -0.843274,
	0.421637, -0.4714045, -0.843274,
	-0.6324555, 0, -0.843274,
	0, 0, -1.05409,
};
static const int truncated_octahedron_faces[] = {
	4, 0, 3, 5, 1,
	4, 2, 7, 12, 6,
	4, 4, 9, 15, 10,
	4, 8, 13, 19, 14,
	4, 11, 17, 21, 16,
	4, 18, 20, 23, 22,
	6, 0, 1, 4, 10, 7, 2,
	6, 0, 2, 6, 13, 8, 3,
	6, 1, 5, 11, 16, 9, 4,
	6, 3, 8, 14, 17, 11, 5,
	6, 6, 12, 18, 22, 19, 13,
	6, 7, 10, 15, 20, 18, 12,
	6, 9, 16, 21, 23, 20, 15,
	6, 14, 19, 22, 23, 21, 17,
};
static const float rhombicuboctahedron_verts[] = {
	0, 0, 1.07072,
	0.7148135, 0, 0.797175,
	-0.104682, 0.7071068, 0.797175,
	-0.6841528, 0.2071068, 0.797175,
	-0.104682, -0.7071068, 0.797175,
	0.6101315, 0.7071068, 0.523628,
	1.04156, 0.2071068, 0.136774,
	0.6101315, -0.7071068, 0.523628,
	-0.3574067, 1., 0.136774,
	-0.7888348, -0.5, 0.523628,
	-0.9368776, 0.5, 0.136774,
	-0.3574067, -1., 0.136774,
	0.3574067, 1., -0.136774,
	0.9368776, -0.5, -0.136774,
	0.7888348, 0.5, -0.523628,
	0.3574067, -1., -0.136774,
	-0.6101315, 0.7071068, -0.523628,
	-1.04156, -0.2071068, -0.136774,
	-0.6101315, -0.7071068, -0.523628,
	0.104682, 0.7071068, -0.797175,
	0.6841528, -0.2071068, -0.797175,
	0.104682, -0.7071068, -0.797175,
	-0.7148135, 0, -0.797175,
	0, 0, -1.07072,
};
static const int rhombicuboctahedron_faces[] = {
	3, 0, 2, 3,
	3, 1, 6, 5,
	3, 4, 9, 11,
	3, 7, 15, 13,
	3, 8, 16, 10,
	3, 12, 14, 19,
	3, 17, 22, 18,
	3, 20, 21, 23,
	4, 0, 1, 5, 2,
	4, 0, 3, 9, 4,
	4, 0, 4, 7, 1,
	4, 1, 7, 13, 6,
	4, 2, 5, 12, 8,
	4, 2, 8, 10, 3,
	4, 3, 10, 17, 9,
	4, 4, 11, 15, 7,
	4, 5, 6, 14, 12,
	4, 6, 13, 20, 14,
	4, 8, 12, 19, 16,
	4, 9, 17, 18, 11,
	4, 10, 16, 22, 17,
	4, 11, 18, 21, 15,
	4, 13, 15, 21, 20,
	4, 14, 20, 23, 19,
	4, 16, 19, 23, 22,
	4, 18, 22, 23, 21,
};
static const float truncated_cuboctahedron_verts[] = {
	0, 0, 1.02412,
	0.4314788, 0, 0.928785,
	-0.02106287, 0.4309644, 0.928785,
	-0.3410582, -0.2642977, 0.928785,
	0.4104159, 0.4309644, 0.833453,
	0.7006238, -0.2642977, 0.698633,
	-0.3831839, 0.5976311, 0.738121,
	-0.3919084, -0.6380712, 0.698633,
	-0.7031792, -0.09763107, 0.738121,
	0.6584981, 0.5976311, 0.507969,
	0.6497736, -0.6380712, 0.468482,
	0.948706, -0.09763107, 0.37315,
	-0.4638216, 0.8333333, 0.37315,
	-0.7242421, 0.3333333, 0.642789,
	-0.7540295, -0.4714045, 0.507969,
	-0.1227634, -0.9023689, 0.468482,
	0.5778604, 0.8333333, 0.142998,
	0.9276431, 0.3333333, 0.277818,
	0.8978557, -0.4714045, 0.142998,
	0.3087154, -0.9023689, 0.37315,
	-0.8048797, 0.5690356, 0.277818,
	-0.2157394, 1., 0.047666,
	-0.8470055, -0.5690356, 0.0871538,
	-0.2157394, -1., 0.047666,
	0.8470055, 0.5690356, -0.0871538,
	0.2157394, 1., -0.047666,
	0.8048797, -0.5690356, -0.277818,
	0.2157394, -1., -0.047666,
	-0.8978557, 0.4714045, -0.142998,
	-0.3087154, 0.9023689, -0.37315,
	-0.9276431, -0.3333333, -0.277818,
	-0.5778604, -0.8333333, -0.142998,
	0.7540295, 0.4714045, -0.507969,
	0.1227634, 0.9023689, -0.468482,
	0.7242421, -0.3333333, -0.642789,
	0.4638216, -0.8333333, -0.37315,
	-0.948706, 0.09763107, -0.37315,
	-0.6497736, 0.6380712, -0.468482,
	-0.6584981, -0.5976311, -0.507969,
	0.7031792, 0.09763107, -0.738121,
	0.3919084, 0.6380712, -0.698633,
	0.3831839, -0.5976311, -0.738121,
	-0.7006238, 0.2642977, -0.698633,
	-0.4104159, -0.4309644, -0.833453,
	0.3410582, 0.2642977, -0.928785,
	0.02106287, -0.4309644, -0.928785,
	-0.4314788, 0, -0.928785,
	0, 0, -1.02412,
};
static const int truncated_cuboctahedron_faces[] = {
	4, 0, 1, 4, 2,
	4, 3, 8, 14, 7,
	4, 5, 10, 18, 11,
	4, 6, 12, 20, 13,
	4, 9, 17, 24, 16,
	4, 15, 23, 27, 19,
	4, 21, 25, 33, 29,
	4, 22, 30, 38, 31,
	4, 26, 35, 41, 34,
	4, 28, 37, 42, 36,
	4, 32, 39, 44, 40,
	4, 43, 46, 47, 45,
	6, 0, 2, 6, 13, 8, 3,
	6, 1, 5, 11, 17, 9, 4,
	6, 7, 14, 22, 31, 23, 15,
	6, 10, 19, 27, 35, 26, 18,
	6, 12, 21, 29, 37, 28, 20,
	6, 16, 24, 32, 40, 33, 25,
	6, 30, 36, 42, 46, 43, 38,
	6, 34, 41, 45, 47, 44, 39,
	8, 0, 3, 7, 15, 19, 10, 5, 1,
	8, 2, 4, 9, 16, 25, 21, 12, 6,
	8, 8, 13, 20, 28, 36, 30, 22, 14,
	8, 11, 18, 26, 34, 39, 32, 24, 17,
	8, 23, 31, 38, 43, 45, 41, 35, 27,
	8, 29, 33, 40, 44, 47, 46, 42, 37,
};
static const float icosidodecahedron_verts[] = {
	0, 0, 1.05146,
	0.618034, 0, 0.850651,
	0.2763932, 0.5527864, 0.850651,
	-0.618034, 0, 0.850651,
	-0.2763932, -0.5527864, 0.850651,
	1., 0, 0.32492,
	0.7236068, -0.5527864, 0.525731,
	-0.1708204, 0.8944272, 0.525731,
	0.4472136, 0.8944272, 0.32492,
	-1., 0, 0.32492,
	-0.7236068, 0.5527864, 0.525731,
	0.1708204, -0.8944272, 0.525731,
	-0.4472136, -0.8944272, 0.32492,
	1., 0, -0.32492,
	0.8944272, 0.5527864, 0,
	0.5527864, -0.8944272, 0,
	-0.5527864, 0.8944272, 0,
	0.4472136, 0.8944272, -0.32492,
	-1., 0, -0.32492,
	-0.8944272, -0.5527864, 0,
	-0.4472136, -0.8944272, -0.32492,
	0.618034, 0, -0.850651,
	0.7236068, -0.5527864, -0.525731,
	0.1708204, -0.8944272, -0.525731,
	-0.7236068, 0.5527864, -0.525731,
	-0.1708204, 0.8944272, -0.525731,
	0.2763932, 0.5527864, -0.850651,
	-0.618034, 0, -0.850651,
	-0.2763932, -0.5527864, -0.850651,
	0, 0, -1.05146,
};
static const int icosidodecahedron_faces[] = {
	3, 0, 1, 2,
	3, 0, 3, 4,
	3, 1, 6, 5,
	3, 2, 8, 7,
	3, 3, 10, 9,
	3, 4, 12, 11,
	3, 5, 13, 14,
	3, 6, 11, 15,
	3, 7, 16, 10,
	3, 8, 14, 17,
	3, 9, 18, 19,
	3, 12, 19, 20,
	3, 13, 22, 21,
	3, 15, 23, 22,
	3, 16, 25, 24,
	3, 17, 26, 25,
	3, 18, 24, 27,
	3, 20, 28, 23,
	3, 21, 29, 26,
	3, 27, 29, 28,
	5, 0, 2, 7, 10, 3,
	5, 0, 4, 11, 6, 1,
	5, 1, 5, 14, 8, 2,
	5, 3, 9, 19, 12, 4,
	5, 5, 6, 15, 22, 13,
	5, 7, 8, 17, 25, 16,
	5, 9, 10, 16, 24, 18,
	5, 11, 12, 20, 23, 15,
	5, 13, 21, 26, 17, 14,
	5, 18, 27, 28, 20, 19,
	5, 21, 22, 23, 28, 29,
	5, 24, 25, 26, 29, 27,
};
static const float truncated_dodecahedron_verts[] = {
	0, 0, 1.01449,
	0.3367628, 0, 0.956959,
	-0.2902233, 0.1708204, 0.956959,
	0.1634681, -0.2944272, 0.956959,
	0.5914332, 0.1708204, 0.806354,
	-0.5963465, 0.1527864, 0.806354,
	-0.4230517, 0.4472136, 0.806354,
	0.1377417, -0.6, 0.806354,
	0.8302037, 0.1527864, 0.56267,
	0.6667356, 0.4472136, 0.620196,
	-0.8014407, -0.0472136, 0.620196,
	-0.3477493, 0.7236068, 0.620196,
	-0.06735256, -0.8, 0.620196,
	0.2694102, -0.8, 0.56267,
	0.9618722, -0.0472136, 0.318986,
	0.5339072, 0.7236068, 0.469591,
	-0.8271671, -0.3527864, 0.469591,
	-0.9599955, -0.0763932, 0.318986,
	-0.3992021, 0.8763932, 0.318986,
	-0.09307895, 0.8944272, 0.469591,
	-0.3734757, -0.818034, 0.469591,
	0.5081808, -0.818034, 0.318986,
	0.9361459, -0.3527864, 0.168381,
	1.011448, -0.0763932, -0.0177765,
	0.4824544, 0.8763932, 0.168381,
	0.2436839, 0.8944272, 0.412065,
	-0.663699, -0.6472136, 0.412065,
	-1.011448, 0.0763932, 0.0177765,
	-0.5577569, 0.8472136, 0.0177765,
	-0.5320305, -0.8472136, 0.168381,
	0.5577569, -0.8472136, -0.0177765,
	0.7628511, -0.6472136, 0.168381,
	0.9599955, 0.0763932, -0.318986,
	0.5320305, 0.8472136, -0.168381,
	-0.9618722, 0.0472136, -0.318986,
	-0.9361459, 0.3527864, -0.168381,
	-0.7628511, 0.6472136, -0.168381,
	-0.5081808, 0.818034, -0.318986,
	-0.4824544, -0.8763932, -0.168381,
	0.3992021, -0.8763932, -0.318986,
	0.8014407, 0.0472136, -0.620196,
	0.8271671, 0.3527864, -0.469591,
	0.663699, 0.6472136, -0.412065,
	0.3734757, 0.818034, -0.469591,
	-0.8302037, -0.1527864, -0.56267,
	-0.2694102, 0.8, -0.56267,
	-0.5339072, -0.7236068, -0.469591,
	-0.2436839, -0.8944272, -0.412065,
	0.09307895, -0.8944272, -0.469591,
	0.3477493, -0.7236068, -0.620196,
	0.5963465, -0.1527864, -0.806354,
	0.06735256, 0.8, -0.620196,
	-0.6667356, -0.4472136, -0.620196,
	-0.5914332, -0.1708204, -0.806354,
	-0.1377417, 0.6, -0.806354,
	0.4230517, -0.4472136, -0.806354,
	0.2902233, -0.1708204, -0.956959,
	-0.3367628, 0, -0.956959,
	-0.1634681, 0.2944272, -0.956959,
	0, 0, -1.01449,
};
static const int truncated_dodecahedron_faces[] = {
	3, 0, 3, 1,
	3, 2, 6, 5,
	3, 4, 8, 9,
	3, 7, 12, 13,
	3, 10, 17, 16,
	3, 11, 19, 18,
	3, 14, 22, 23,
	3, 15, 24, 25,
	3, 20, 26, 29,
	3, 21, 30, 31,
	3, 27, 35, 34,
	3, 28, 37, 36,
	3, 32, 40, 41,
	3, 33, 42, 43,
	3, 38, 46, 47,
	3, 39, 48, 49,
	3, 44, 53, 52,
	3, 45, 51, 54,
	3, 50, 55, 56,
	3, 57, 58, 59,
	10, 0, 1, 4, 9, 15, 25, 19, 11, 6, 2,
	10, 0, 2, 5, 10, 16, 26, 20, 12, 7, 3,
	10, 1, 3, 7, 13, 21, 31, 22, 14, 8, 4,
	10, 5, 6, 11, 18, 28, 36, 35, 27, 17, 10,
	10, 8, 14, 23, 32, 41, 42, 33, 24, 15, 9,
	10, 12, 20, 29, 38, 47, 48, 39, 30, 21, 13,
	10, 16, 17, 27, 34, 44, 52, 46, 38, 29, 26,
	10, 18, 19, 25, 24, 33, 43, 51, 45, 37, 28,
	10, 22, 31, 30, 39, 49, 55, 50, 40, 32, 23,
	10, 34, 35, 36, 37, 45, 54, 58, 57, 53, 44,
	10, 40, 50, 56, 59, 58, 54, 51, 43, 42, 41,
	10, 46, 52, 53, 57, 59, 56, 55, 49, 48, 47,
};
static const float truncated_icosahedron_verts[] = {
	0, 0, 1.021,
	0.4035482, 0, 0.937864,
	-0.2274644, 0.3333333, 0.937864,
	-0.1471226, -0.375774, 0.937864,
	0.579632, 0.3333333, 0.771593,
	0.5058321, -0.375774, 0.803348,
	-0.6020514, 0.2908927, 0.771593,
	-0.05138057, 0.6666667, 0.771593,
	0.1654988, -0.6080151, 0.803348,
	-0.5217096, -0.4182147, 0.771593,
	0.8579998, 0.2908927, 0.470806,
	0.3521676, 0.6666667, 0.688458,
	0.7841999, -0.4182147, 0.502561,
	-0.657475, 0.5979962, 0.502561,
	-0.749174, -0.08488134, 0.688458,
	-0.3171418, 0.8302373, 0.502561,
	0.1035333, -0.8826969, 0.502561,
	-0.5836751, -0.6928964, 0.470806,
	0.8025761, 0.5979962, 0.201774,
	0.9602837, -0.08488134, 0.33629,
	0.4899547, 0.8302373, 0.33629,
	0.7222343, -0.6928964, 0.201774,
	-0.8600213, 0.5293258, 0.150394,
	-0.9517203, -0.1535518, 0.33629,
	-0.1793548, 0.993808, 0.150394,
	0.381901, -0.9251375, 0.201774,
	-0.2710537, -0.9251375, 0.33629,
	-0.8494363, -0.5293258, 0.201774,
	0.8494363, 0.5293258, -0.201774,
	1.007144, -0.1535518, -0.067258,
	0.2241935, 0.993808, 0.067258,
	0.8600213, -0.5293258, -0.150394,
	-0.7222343, 0.6928964, -0.201774,
	-1.007144, 0.1535518, 0.067258,
	-0.381901, 0.9251375, -0.201774,
	0.1793548, -0.993808, -0.150394,
	-0.2241935, -0.993808, -0.067258,
	-0.8025761, -0.5979962, -0.201774,
	0.5836751, 0.6928964, -0.470806,
	0.9517203, 0.1535518, -0.33629,
	0.2710537, 0.9251375, -0.33629,
	0.657475, -0.5979962, -0.502561,
	-0.7841999, 0.4182147, -0.502561,
	-0.9602837, 0.08488134, -0.33629,
	-0.1035333, 0.8826969, -0.502561,
	0.3171418, -0.8302373, -0.502561,
	-0.4899547, -0.8302373, -0.33629,
	-0.8579998, -0.2908927, -0.470806,
	0.5217096, 0.4182147, -0.771593,
	0.749174, 0.08488134, -0.688458,
	0.6020514, -0.2908927, -0.771593,
	-0.5058321, 0.375774, -0.803348,
	-0.1654988, 0.6080151, -0.803348,
	0.05138057, -0.6666667, -0.771593,
	-0.3521676, -0.6666667, -0.688458,
	-0.579632, -0.3333333, -0.771593,
	0.1471226, 0.375774, -0.937864,
	0.2274644, -0.3333333, -0.937864,
	-0.4035482, 0, -0.937864,
	0, 0, -1.021,
};
static const int truncated_icosahedron_faces[] = {
	5, 0, 3, 8, 5, 1,
	5, 2, 7, 15, 13, 6,
	5, 4, 10, 18, 20, 11,
	5, 9, 14, 23, 27, 17,
	5, 12, 21, 31, 29, 19,
	5, 16, 26, 36, 35, 25,
	5, 22, 32, 42, 43, 33,
	5, 24, 30, 40, 44, 34,
	5, 28, 39, 49, 48, 38,
	5, 37, 47, 55, 54, 46,
	5, 41, 45, 53, 57, 50,
	5, 51, 52, 56, 59, 58,
	6, 0, 1, 4, 11, 7, 2,
	6, 0, 2, 6, 14, 9, 3,
	6, 1, 5, 12, 19, 10, 4,
	6, 3, 9, 17, 26, 16, 8,
	6, 5, 8, 16, 25, 21, 12,
	6, 6, 13, 22, 33, 23, 14,
	6, 7, 11, 20, 30, 24, 15,
	6, 10, 19, 29, 39, 28, 18,
	6, 13, 15, 24, 34, 32, 22,
	6, 17, 27, 37, 46, 36, 26,
	6, 18, 28, 38, 40, 30, 20,
	6, 21, 25, 35, 45, 41, 31,
	6, 23, 33, 43, 47, 37, 27,
	6, 29, 31, 41, 50, 49, 39,
	6, 32, 34, 44, 52, 51, 42,
	6, 35, 36, 46, 54, 53, 45,
	6, 38, 48, 56, 52, 44, 40,
	6, 42, 51, 58, 55, 47, 43,
	6, 48, 49, 50, 57, 59, 56,
	6, 53, 54, 55, 58, 59, 57,
};
static const float snub_cube_verts[] = {
	0, 0, 1.07736,
	0.7442063, 0, 0.779019,
	0.3123013, 0.6755079, 0.779019,
	-0.482096, 0.5669449, 0.779019,
	-0.7169181, -0.1996786, 0.779019,
	-0.1196038, -0.7345325, 0.779019,
	0.6246025, -0.7345325, 0.480673,
	1.056508, -0.1996786, 0.0680691,
	0.8867128, 0.5669449, 0.230276,
	0.2621103, 1.042774, 0.0680691,
	-0.532287, 0.9342111, 0.0680691,
	-1.006317, 0.3082417, 0.230276,
	-0.7020817, -0.784071, 0.230276,
	0.02728827, -1.074865, 0.0680691,
	0.6667271, -0.784071, -0.318466,
	0.8216855, -0.09111555, -0.690828,
	0.6518908, 0.6755079, -0.528621,
	-0.1196038, 0.8751866, -0.616812,
	-0.8092336, 0.4758293, -0.528621,
	-0.9914803, -0.2761507, -0.318466,
	-0.4467414, -0.825648, -0.528621,
	0.1926974, -0.5348539, -0.915157,
	0.1846311, 0.2587032, -1.02942,
	-0.5049987, -0.1406541, -0.941226,
};
static const int snub_cube_faces[] = {
	3, 0, 1, 2,
	3, 0, 2, 3,
	3, 0, 3, 4,
	3, 0, 4, 5,
	3, 1, 6, 7,
	3, 1, 7, 8,
	3, 1, 8, 2,
	3, 2, 8, 9,
	3, 3, 10, 11,
	3, 3, 11, 4,
	3, 4, 12, 5,
	3, 5, 12, 13,
	3, 5, 13, 6,
	3, 6, 13, 14,
	3, 6, 14, 7,
	3, 7, 14, 15,
	3, 8, 16, 9,
	3, 9, 16, 17,
	3, 9, 17, 10,
	3, 10, 17, 18,
	3, 10, 18, 11,
	3, 11, 18, 19,
	3, 12, 19, 20,
	3, 12, 20, 13,
	3, 14, 21, 15,
	3, 15, 21, 22,
	3, 15, 22, 16,
	3, 16, 22, 17,
	3, 18, 23, 19,
	3, 19, 23, 20,
	3, 20, 23, 21,
	3, 21, 23, 22,
	4, 0, 5, 6, 1,
	4, 2, 9, 10, 3,
	4, 4, 11, 19, 12,
	4, 7, 15, 16, 8,
	4, 13, 20, 21, 14,
	4, 17, 22, 23, 18,
};
static const float rhombicosidodecahedron_verts[] = {
	0, 0, 1.02605,
	0.447838, 0, 0.923162,
	-0.02363976, 0.4472136, 0.923162,
	-0.4050732, 0.190983, 0.923162,
	-0.1693344, -0.4145898, 0.923162,
	0.4241982, 0.4472136, 0.82027,
	0.7673818, 0.190983, 0.653787,
	0.5552827, -0.4145898, 0.756679,
	-0.2312241, 0.7562306, 0.653787,
	-0.5744076, -0.2236068, 0.82027,
	-0.6126576, 0.5, 0.653787,
	0.1738492, -0.6708204, 0.756679,
	-0.4669629, -0.6381966, 0.653787,
	0.493393, 0.7562306, 0.487304,
	0.8748265, -0.2236068, 0.487304,
	0.8365765, 0.5, 0.320821,
	0.7054921, -0.6381966, 0.384412,
	0.08831973, 0.9472136, 0.384412,
	-0.5434628, 0.809017, 0.320821,
	-0.8866463, -0.1708204, 0.487304,
	-0.9102861, 0.2763932, 0.384412,
	-0.1237794, -0.8944272, 0.487304,
	0.3240586, -0.8944272, 0.384412,
	-0.7792016, -0.5854102, 0.320821,
	0.6289922, 0.809017, 0.051446,
	1.010426, -0.1708204, 0.051446,
	0.9867859, 0.2763932, -0.051446,
	0.8410913, -0.5854102, -0.051446,
	-0.223919, 1., 0.051446,
	0.223919, 1., -0.051446,
	-0.8410913, 0.5854102, 0.051446,
	-0.9867859, -0.2763932, 0.051446,
	-1.010426, 0.1708204, -0.051446,
	-0.223919, -1., 0.051446,
	0.223919, -1., -0.051446,
	-0.6289922, -0.809017, -0.051446,
	0.7792016, 0.5854102, -0.320821,
	0.9102861, -0.2763932, -0.384412,
	0.8866463, 0.1708204, -0.487304,
	0.5434628, -0.809017, -0.320821,
	-0.3240586, 0.8944272, -0.384412,
	0.1237794, 0.8944272, -0.487304,
	-0.7054921, 0.6381966, -0.384412,
	-0.8365765, -0.5, -0.320821,
	-0.8748265, 0.2236068, -0.487304,
	-0.08831973, -0.9472136, -0.384412,
	-0.493393, -0.7562306, -0.487304,
	0.4669629, 0.6381966, -0.653787,
	0.6126576, -0.5, -0.653787,
	0.5744076, 0.2236068, -0.82027,
	0.2312241, -0.7562306, -0.653787,
	-0.1738492, 0.6708204, -0.756679,
	-0.5552827, 0.4145898, -0.756679,
	-0.7673818, -0.190983, -0.653787,
	-0.4241982, -0.4472136, -0.82027,
	0.1693344, 0.4145898, -0.923162,
	0.4050732, -0.190983, -0.923162,
	0.02363976, -0.4472136, -0.923162,
	-0.447838, 0, -0.923162,
	0, 0, -1.02605,
};
static const int rhombicosidodecahedron_faces[] = {
	3, 0, 2, 3,
	3, 1, 6, 5,
	3, 4, 9, 12,
	3, 7, 16, 14,
	3, 8, 18, 10,
	3, 11, 21, 22,
	3, 13, 15, 24,
	3, 17, 29, 28,
	3, 19, 31, 23,
	3, 20, 30, 32,
	3, 25, 27, 37,
	3, 26, 38, 36,
	3, 33, 45, 34,
	3, 35, 43, 46,
	3, 39, 50, 48,
	3, 40, 41, 51,
	3, 42, 52, 44,
	3, 47, 49, 55,
	3, 53, 58, 54,
	3, 56, 57, 59,
	4, 0, 1, 5, 2,
	4, 0, 3, 9, 4,
	4, 1, 7, 14, 6,
	4, 2, 8, 10, 3,
	4, 4, 12, 21, 11,
	4, 5, 6, 15, 13,
	4, 7, 11, 22, 16,
	4, 8, 17, 28, 18,
	4, 9, 19, 23, 12,
	4, 10, 18, 30, 20,
	4, 13, 24, 29, 17,
	4, 14, 16, 27, 25,
	4, 15, 26, 36, 24,
	4, 19, 20, 32, 31,
	4, 21, 33, 34, 22,
	4, 23, 31, 43, 35,
	4, 25, 37, 38, 26,
	4, 27, 39, 48, 37,
	4, 28, 29, 41, 40,
	4, 30, 42, 44, 32,
	4, 33, 35, 46, 45,
	4, 34, 45, 50, 39,
	4, 36, 38, 49, 47,
	4, 40, 51, 52, 42,
	4, 41, 47, 55, 51,
	4, 43, 53, 54, 46,
	4, 44, 52, 58, 53,
	4, 48, 50, 57, 56,
	4, 49, 56, 59, 55,
	4, 54, 58, 59, 57,
	5, 0, 4, 11, 7, 1,
	5, 2, 5, 13, 17, 8,
	5, 3, 10, 20, 19, 9,
	5, 6, 14, 25, 26, 15,
	5, 12, 23, 35, 33, 21,
	5, 16, 22, 34, 39, 27,
	5, 18, 28, 40, 42, 30,
	5, 24, 36, 47, 41, 29,
	5, 31, 32, 44, 53, 43,
	5, 37, 48, 56, 49, 38,
	5, 45, 46, 54, 57, 50,
	5, 51, 55, 59, 58, 52,
};
static const float truncated_icosidodecahedron_verts[] = {
	0, 0, 1.00876,
	0.2629922, 0, 0.973874,
	-0.00462747, 0.2629515, 0.973874,
	-0.2211363, -0.1423503, 0.973874,
	0.2583647, 0.2629515, 0.938989,
	0.4673861, -0.1423503, 0.882543,
	-0.2303913, 0.3835526, 0.904103,
	-0.3159502, -0.372678, 0.882543,
	-0.4469001, -0.02174919, 0.904103,
	0.4581312, 0.3835526, 0.812772,
	0.5351104, -0.372678, 0.769652,
	0.6671526, -0.02174919, 0.756327,
	-0.3326926, 0.5786893, 0.756327,
	-0.4515276, 0.2412023, 0.869218,
	-0.541714, -0.2520769, 0.812772,
	-0.248226, -0.6030057, 0.769652,
	0.518368, 0.5786893, 0.643435,
	0.6625252, 0.2412023, 0.721441,
	0.7348768, -0.2520769, 0.643435,
	0.4402965, -0.6030057, 0.67832,
	-0.5538289, 0.436339, 0.721441,
	-0.2724557, 0.7738261, 0.586989,
	-0.6997536, -0.3618034, 0.63011,
	-0.04383203, -0.745356, 0.67832,
	-0.4062656, -0.7127322, 0.586989,
	0.722762, 0.436339, 0.552104,
	0.4160667, 0.7738261, 0.495658,
	0.8398294, -0.3618034, 0.425888,
	0.2191601, -0.745356, 0.643435,
	0.5452491, -0.7127322, 0.460773,
	-0.7147284, 0.4891254, 0.517219,
	-0.07268925, 0.8944272, 0.460773,
	-0.4333553, 0.8266125, 0.382767,
	-0.8606531, -0.309017, 0.425888,
	-0.6320294, -0.5921311, 0.517219,
	-0.2018716, -0.8550825, 0.495658,
	0.8248546, 0.4891254, 0.312996,
	0.1903029, 0.8944272, 0.425888,
	0.5181594, 0.8266125, 0.256551,
	0.9419221, -0.309017, 0.18678,
	0.7450156, -0.5921311, 0.334557,
	0.3241127, -0.8550825, 0.425888,
	-0.8727679, 0.3793989, 0.334557,
	-0.6544916, 0.6842621, 0.347882,
	-0.2335888, 0.9472136, 0.256551,
	-0.7929289, -0.5393447, 0.312996,
	-0.9629544, -0.1138803, 0.278111,
	-0.096919, -0.9648091, 0.278111,
	0.9298072, 0.3793989, 0.0954487,
	0.7225533, 0.6842621, 0.165219,
	0.2923956, 0.9472136, 0.18678,
	0.8471082, -0.5393447, 0.0954487,
	1.002159, -0.1138803, 0.0174427,
	0.1660732, -0.9648091, 0.243226,
	-0.8125311, 0.5745356, 0.165219,
	-0.9675818, 0.1490712, 0.243226,
	-0.1314961, 1., 0.0174427,
	-0.8275059, -0.5745356, 0.052328,
	-0.9975315, -0.1490712, 0.0174427,
	-0.1314961, -1., 0.0174427,
	0.8275059, 0.5745356, -0.052328,
	0.9975315, 0.1490712, -0.0174427,
	0.1314961, 1., -0.0174427,
	0.8125311, -0.5745356, -0.165219,
	0.9675818, -0.1490712, -0.243226,
	0.1314961, -1., -0.0174427,
	-0.8471082, 0.5393447, -0.0954487,
	-1.002159, 0.1138803, -0.0174427,
	-0.1660732, 0.9648091, -0.243226,
	-0.7225533, -0.6842621, -0.165219,
	-0.9298072, -0.3793989, -0.0954487,
	-0.2923956, -0.9472136, -0.18678,
	0.7929289, 0.5393447, -0.312996,
	0.9629544, 0.1138803, -0.278111,
	0.096919, 0.9648091, -0.278111,
	0.6544916, -0.6842621, -0.347882,
	0.8727679, -0.3793989, -0.334557,
	0.2335888, -0.9472136, -0.256551,
	-0.7450156, 0.5921311, -0.334557,
	-0.9419221, 0.309017, -0.18678,
	-0.3241127, 0.8550825, -0.425888,
	-0.8248546, -0.4891254, -0.312996,
	-0.5181594, -0.8266125, -0.256551,
	-0.1903029, -0.8944272, -0.425888,
	0.6320294, 0.5921311, -0.517219,
	0.8606531, 0.309017, -0.425888,
	0.2018716, 0.8550825, -0.495658,
	0.7147284, -0.4891254, -0.517219,
	0.4333553, -0.8266125, -0.382767,
	0.07268925, -0.8944272, -0.460773,
	-0.8398294, 0.3618034, -0.425888,
	-0.5452491, 0.7127322, -0.460773,
	-0.2191601, 0.745356, -0.643435,
	-0.722762, -0.436339, -0.552104,
	-0.4160667, -0.7738261, -0.495658,
	0.6997536, 0.3618034, -0.63011,
	0.4062656, 0.7127322, -0.586989,
	0.04383203, 0.745356, -0.67832,
	0.5538289, -0.436339, -0.721441,
	0.2724557, -0.7738261, -0.586989,
	-0.7348768, 0.2520769, -0.643435,
	-0.4402965, 0.6030057, -0.67832,
	-0.6625252, -0.2412023, -0.721441,
	-0.518368, -0.5786893, -0.643435,
	0.541714, 0.2520769, -0.812772,
	0.248226, 0.6030057, -0.769652,
	0.4515276, -0.2412023, -0.869218,
	0.3326926, -0.5786893, -0.756327,
	-0.6671526, 0.02174919, -0.756327,
	-0.5351104, 0.372678, -0.769652,
	-0.4581312, -0.3835526, -0.812772,
	0.4469001, 0.02174919, -0.904103,
	0.3159502, 0.372678, -0.882543,
	0.2303913, -0.3835526, -0.904103,
	-0.4673861, 0.1423503, -0.882543,
	-0.2583647, -0.2629515, -0.938989,
	0.2211363, 0.1423503, -0.973874,
	0.00462747, -0.2629515, -0.973874,
	-0.2629922, 0, -0.973874,
	0, 0, -1.00876,
};
static const int truncated_icosidodecahedron_faces[] = {
	4, 0, 1, 4, 2,
	4, 3, 8, 14, 7,
	4, 5, 10, 18, 11,
	4, 6, 12, 20, 13,
	4, 9, 17, 25, 16,
	4, 15, 24, 35, 23,
	4, 19, 28, 41, 29,
	4, 21, 31, 44, 32,
	4, 22, 33, 45, 34,
	4, 26, 38, 50, 37,
	4, 27, 40, 51, 39,
	4, 30, 43, 54, 42,
	4, 36, 48, 60, 49,
	4, 46, 55, 67, 58,
	4, 47, 59, 65, 53,
	4, 52, 64, 73, 61,
	4, 56, 62, 74, 68,
	4, 57, 70, 81, 69,
	4, 63, 75, 87, 76,
	4, 66, 78, 90, 79,
	4, 71, 82, 94, 83,
	4, 72, 85, 95, 84,
	4, 77, 89, 99, 88,
	4, 80, 92, 101, 91,
	4, 86, 96, 105, 97,
	4, 93, 102, 110, 103,
	4, 98, 107, 113, 106,
	4, 100, 109, 114, 108,
	4, 104, 111, 116, 112,
	4, 115, 118, 119, 117,
	6, 0, 2, 6, 13, 8, 3,
	6, 1, 5, 11, 17, 9, 4,
	6, 7, 14, 22, 34, 24, 15,
	6, 10, 19, 29, 40, 27, 18,
	6, 12, 21, 32, 43, 30, 20,
	6, 16, 25, 36, 49, 38, 26,
	6, 23, 35, 47, 53, 41, 28,
	6, 31, 37, 50, 62, 56, 44,
	6, 33, 46, 58, 70, 57, 45,
	6, 39, 51, 63, 76, 64, 52,
	6, 42, 54, 66, 79, 67, 55,
	6, 48, 61, 73, 85, 72, 60,
	6, 59, 71, 83, 89, 77, 65,
	6, 68, 74, 86, 97, 92, 80,
	6, 69, 81, 93, 103, 94, 82,
	6, 75, 88, 99, 107, 98, 87,
	6, 78, 91, 101, 109, 100, 90,
	6, 84, 95, 104, 112, 105, 96,
	6, 102, 108, 114, 118, 115, 110,
	6, 106, 113, 117, 119, 116, 111,
	10, 0, 3, 7, 15, 23, 28, 19, 10, 5, 1,
	10, 2, 4, 9, 16, 26, 37, 31, 21, 12, 6,
	10, 8, 13, 20, 30, 42, 55, 46, 33, 22, 14,
	10, 11, 18, 27, 39, 52, 61, 48, 36, 25, 17,
	10, 24, 34, 45, 57, 69, 82, 71, 59, 47, 35,
	10, 29, 41, 53, 65, 77, 88, 75, 63, 51, 40,
	10, 32, 44, 56, 68, 80, 91, 78, 66, 54, 43,
	10, 38, 49, 60, 72, 84, 96, 86, 74, 62, 50,
	10, 58, 67, 79, 90, 100, 108, 102, 93, 81, 70,
	10, 64, 76, 87, 98, 106, 111, 104, 95, 85, 73,
	10, 83, 94, 103, 110, 115, 117, 113, 107, 99, 89,
	10, 92, 97, 105, 112, 116, 119, 118, 114, 109, 101,
};
static const float snub_dodecahedron_verts[] = {
	0, 0, 1.02803,
	0.4638569, 0, 0.917434,
	0.2187436, 0.4090409, 0.917434,
	-0.2575486, 0.3857874, 0.917434,
	-0.4616509, -0.04518499, 0.917434,
	-0.177858, -0.4284037, 0.917434,
	0.5726782, -0.4284037, 0.738484,
	0.8259401, -0.04518499, 0.610434,
	0.6437955, 0.3857874, 0.702527,
	0.349648, 0.7496433, 0.610434,
	-0.421009, 0.7120184, 0.610434,
	-0.6783139, 0.3212396, 0.702527,
	-0.6031536, -0.4466658, 0.702527,
	-0.2749612, -0.7801379, 0.610434,
	0.1760766, -0.6931717, 0.738484,
	0.5208138, -0.7801379, 0.420698,
	0.8552518, -0.4466658, 0.3548,
	1.01294, -0.03548596, 0.171878,
	0.7182239, 0.661842, 0.320887,
	0.3633691, 0.9454568, 0.17585,
	-0.04574087, 0.9368937, 0.420698,
	-0.4537394, 0.905564, 0.17585,
	-0.7792791, 0.5887312, 0.320887,
	-0.9537217, 0.1462217, 0.3548,
	-0.9072701, -0.3283699, 0.3548,
	-0.6503371, -0.7286577, 0.320887,
	0.08459482, -0.9611501, 0.3548,
	0.3949153, -0.9491262, -0.00707256,
	0.9360473, -0.409557, -0.113698,
	0.9829382, 0.02692292, -0.299927,
	0.9463677, 0.4014808, -0.00707256,
	0.6704578, 0.7662826, -0.141937,
	-0.05007646, 1.025698, -0.0477998,
	-0.4294337, 0.8845784, -0.299927,
	-0.9561681, 0.3719321, -0.0652523,
	-1.022036, -0.1000338, -0.0477998,
	-0.8659056, -0.5502712, -0.0652523,
	-0.5227761, -0.8778535, -0.113698,
	-0.06856319, -1.021542, -0.0927384,
	0.2232046, -0.8974878, -0.448937,
	0.6515438, -0.7200947, -0.337347,
	0.7969535, -0.3253959, -0.561989,
	0.8066872, 0.4395354, -0.461425,
	0.4468035, 0.735788, -0.561989,
	0.001488801, 0.8961155, -0.503809,
	-0.3535403, 0.6537658, -0.710245,
	-0.7399517, 0.5547758, -0.448937,
	-0.9120238, 0.1102196, -0.461425,
	-0.6593998, -0.6182798, -0.489664,
	-0.2490651, -0.8608088, -0.503809,
	0.4301047, -0.5764987, -0.734512,
	0.5057577, -0.1305283, -0.885449,
	0.5117735, 0.3422252, -0.823297,
	0.09739587, 0.5771941, -0.845109,
	-0.6018946, 0.2552591, -0.793356,
	-0.6879024, -0.2100741, -0.734512,
	-0.3340437, -0.5171509, -0.823297,
	0.08570633, -0.3414376, -0.96588,
	0.1277354, 0.1313635, -1.01157,
	-0.3044499, -0.06760332, -0.979586,
};
static const int snub_dodecahedron_faces[] = {
	3, 0, 1, 2,
	3, 0, 2, 3,
	3, 0, 3, 4,
	3, 0, 4, 5,
	3, 1, 6, 7,
	3, 1, 7, 8,
	3, 1, 8, 2,
	3, 2, 8, 9,
	3, 3, 10, 11,
	3, 3, 11, 4,
	3, 4, 12, 5,
	3, 5, 12, 13,
	3, 5, 13, 14,
	3, 6, 14, 15,
	3, 6, 15, 16,
	3, 6, 16, 7,
	3, 7, 16, 17,
	3, 8, 18, 9,
	3, 9, 18, 19,
	3, 9, 19, 20,
	3, 10, 20, 21,
	3, 10, 21, 22,
	3, 10, 22, 11,
	3, 11, 22, 23,
	3, 12, 24, 25,
	3, 12, 25, 13,
	3, 13, 26, 14,
	3, 14, 26, 15,
	3, 15, 26, 27,
	3, 16, 28, 17,
	3, 17, 28, 29,
	3, 17, 29, 30,
	3, 18, 30, 31,
	3, 18, 31, 19,
	3, 19, 32, 20,
	3, 20, 32, 21,
	3, 21, 32, 33,
	3, 22, 34, 23,
	3, 23, 34, 35,
	3, 23, 35, 24,
	3, 24, 35, 36,
	3, 24, 36, 25,
	3, 25, 36, 37,
	3, 26, 38, 27,
	3, 27, 38, 39,
	3, 27, 39, 40,
	3, 28, 40, 41,
	3, 28, 41, 29,
	3, 29, 42, 30,
	3, 30, 42, 31,
	3, 31, 42, 43,
	3, 32, 44, 33,
	3, 33, 44, 45,
	3, 33, 45, 46,
	3, 34, 46, 47,
	3, 34, 47, 35,
	3, 36, 48, 37,
	3, 37, 48, 49,
	3, 37, 49, 38,
	3, 38, 49, 39,
	3, 39, 50, 40,
	3, 40, 50, 41,
	3, 41, 50, 51,
	3, 42, 52, 43,
	3, 43, 52, 53,
	3, 43, 53, 44,
	3, 44, 53, 45,
	3, 45, 54, 46,
	3, 46, 54, 47,
	3, 47, 54, 55,
	3, 48, 55, 56,
	3, 48, 56, 49,
	3, 50, 57, 51,
	3, 51, 57, 58,
	3, 51, 58, 52,
	3, 52, 58, 53,
	3, 54, 59, 55,
	3, 55, 59, 56,
	3, 56, 59, 57,
	3, 57, 59, 58,
	5, 0, 5, 14, 6, 1,
	5, 2, 9, 20, 10, 3,
	5, 4, 11, 23, 24, 12,
	5, 7, 17, 30, 18, 8,
	5, 13, 25, 37, 38, 26,
	5, 15, 27, 40, 28, 16,
	5, 19, 31, 43, 44, 32,
	5, 21, 33, 46, 34, 22,
	5, 29, 41, 51, 52, 42,
	5, 35, 47, 55, 48, 36,
	5, 39, 49, 56, 57, 50,
	5, 45, 53, 58, 59, 54,
};

// Archimedean duals (Catalan solids)
static const float triakis_tetrahedron_verts[] = {
	0.4264014, 1.414214, 0.904534,
	-1.13707, -0.942809, 0.904534,
	0.4264014, -0.2828427, 0.904534,
	1.421338, -0.942809, -0.301511,
	-0.8528029, 0.5656854, 0.180907,
	0.6822423, 0.5656854, -0.54272,
	-0.7106691, 0.4714045, -1.50756,
	-0.2558409, -0.8485281, -0.54272,
};
static const int triakis_tetrahedron_faces[] = {
	3, 2, 0, 1,
	3, 2, 3, 0,
	3, 0, 4, 1,
	3, 1, 3, 2,
	3, 0, 3, 5,
	3, 1, 4, 6,
	3, 4, 0, 6,
	3, 3, 1, 7,
	3, 3, 6, 5,
	3, 5, 6, 0,
	3, 6, 7, 1,
	3, 7, 6, 3,
};
static const float rhombic_dodecahedron_verts[] = {
	0.5, 0.3535534, 0.866025,
	-0.5, 0.7071068, 0.866025,
	-0.5, -0.3535534, 0.866025,
	0.5, -0.7071068, 0.866025,
	1., -0.3535534, 0,
	1., 0.7071068, 0,
	0, 1.06066, 0,
	-1., 0.3535534, 0,
	-1., -0.7071068, 0,
	0, -1.06066, 0,
	0.5, -0.7071068, -0.866025,
	0.5, 0.3535534, -0.866025,
	-0.5, 0.7071068, -0.866025,
	-0.5, -0.3535534, -0.866025,
};
static const int rhombic_dodecahedron_faces[] = {
	4, 3, 0, 1, 2,
	4, 3, 4, 5, 0,
	4, 0, 5, 6, 1,
	4, 1, 7, 8, 2,
	4, 2, 8, 9, 3,
	4, 5, 4, 10, 11,
	4, 4, 3, 9, 10,
	4, 1, 6, 12, 7,
	4, 6, 5, 11, 12,
	4, 8, 7, 12, 13,
	4, 9, 8, 13, 10,
	4, 10, 13, 12, 11,
};
static const float triakis_octahedron_verts[] = {
	0.2810846, 1., 0.959683,
	-0.7609261, -0.7071068, 0.959683,
	0.2810846, -0.1715729, 0.959683,
	1.15844, -0.7071068, 0.397514,
	-0.6785983, 0.4142136, 0.630372,
	0.9114565, 0.4142136, 0.164656,
	-1.15844, 0.7071068, -0.397514,
	0.0482265, -1., 0.164656,
	0.7609261, 0.7071068, -0.959683,
	-0.9114565, -0.4142136, -0.164656,
	-0.0482265, 1., -0.164656,
	-0.2810846, -1., -0.959683,
	0.6785983, -0.4142136, -0.630372,
	-0.2810846, 0.1715729, -0.959683,
};
static const int triakis_octahedron_faces[] = {
	3, 2, 0, 1,
	3, 2, 3, 0,
	3, 0, 4, 1,
	3, 1, 3, 2,
	3, 0, 3, 5,
	3, 1, 4, 6,
	3, 4, 0, 6,
	3, 3, 1, 7,
	3, 3, 8, 5,
	3, 5, 8, 0,
	3, 6, 9, 1,
	3, 0, 10, 6,
	3, 1, 11, 7,
	3, 7, 11, 3,
	3, 8, 3, 12,
	3, 0, 8, 10,
	3, 1, 9, 11,
	3, 9, 6, 11,
	3, 6, 10, 8,
	3, 3, 11, 12,
	3, 12, 11, 8,
	3, 6, 13, 11,
	3, 8, 13, 6,
	3, 8, 11, 13,
};
static const float tetrakis_hexahedron_verts[] = {
	0.3162278, 0.7071068, 0.948683,
	-0.7378648, -0.2357023, 0.948683,
	0.3162278, -0.3535534, 0.948683,
	1.159502, -0.2357023, 0.316228,
	-0.6324555, 0.7071068, 0.474342,
	0.1054093, -1.178511, 0.316228,
	0.7905694, 0.7071068, 0,
	-1.159502, 0.2357023, -0.316228,
	-0.1054093, 1.178511, -0.316228,
	-0.7905694, -0.7071068, 0,
	0.7378648, 0.2357023, -0.948683,
	0.6324555, -0.7071068, -0.474342,
	-0.3162278, -0.7071068, -0.948683,
	-0.3162278, 0.3535534, -0.948683,
};
static const int tetrakis_hexahedron_faces[] = {
	3, 2, 0, 1,
	3, 2, 3, 0,
	3, 0, 4, 1,
	3, 1, 5, 2,
	3, 0, 3, 6,
	3, 3, 2, 5,
	3, 1, 4, 7,
	3, 4, 0, 8,
	3, 5, 1, 9,
	3, 3, 10, 6,
	3, 6, 8, 0,
	3, 5, 11, 3,
	3, 4, 8, 7,
	3, 7, 9, 1,
	3, 9, 12, 5,
	3, 6, 10, 8,
	3, 10, 3, 11,
	3, 11, 5, 12,
	3, 7, 8, 13,
	3, 9, 7, 12,
	3, 10, 13, 8,
	3, 11, 12, 10,
	3, 13, 12, 7,
	3, 13, 10, 12,
};
static const float deltoidal_icositetrahedron_verts[] = {
	0.3574067, 0.4142136, 0.933949,
	-0.2764395, 0.3203772, 0.933949,
	-0.4620888, -0.2928932, 0.933949,
	0.3574067, -0.4142136, 0.933949,
	0.9675382, -0.2928932, 0.386854,
	0.8293185, 0.3203772, 0.510794,
	0.1480427, 1., 0.386854,
	-0.6101315, 0.7071068, 0.547095,
	-1.010899, 0, 0.386854,
	-0.438374, -0.7734591, 0.510794,
	0.1480427, -1., 0.386854,
	0.8194955, 0.7071068, 0,
	1.010899, 0, -0.386854,
	0.667384, -0.7734591, 0.0876383,
	-0.1480427, 1., -0.386854,
	-0.667384, 0.7734591, -0.0876383,
	-0.8194955, -0.7071068, 0,
	-0.9675382, 0.2928932, -0.386854,
	-0.1480427, -1., -0.386854,
	0.438374, 0.7734591, -0.510794,
	0.6101315, -0.7071068, -0.547095,
	0.4620888, 0.2928932, -0.933949,
	-0.3574067, 0.4142136, -0.933949,
	-0.8293185, -0.3203772, -0.510794,
	-0.3574067, -0.4142136, -0.933949,
	0.2764395, -0.3203772, -0.933949,
};
static const int deltoidal_icositetrahedron_faces[] = {
	4, 3, 0, 1, 2,
	4, 3, 4, 5, 0,
	4, 0, 6, 7, 1,
	4, 1, 7, 8, 2,
	4, 2, 9, 10, 3,
	4, 0, 5, 11, 6,
	4, 5, 4, 12, 11,
	4, 4, 3, 10, 13,
	4, 7, 6, 14, 15,
	4, 2, 8, 16, 9,
	4, 8, 7, 15, 17,
	4, 10, 9, 16, 18,
	4, 11, 19, 14, 6,
	4, 4, 13, 20, 12,
	4, 12, 21, 19, 11,
	4, 10, 18, 20, 13,
	4, 14, 22, 17, 15,
	4, 8, 17, 23, 16,
	4, 16, 23, 24, 18,
	4, 14, 19, 21, 22,
	4, 12, 20, 25, 21,
	4, 20, 18, 24, 25,
	4, 17, 22, 24, 23,
	4, 21, 25, 24, 22,
};
static const float disdyakis_dodecahedron_verts[] = {
	0.2157394, 0.2265409, 0.976451,
	-0.4242512, 0.1952621, 0.976451,
	0.2157394, -0.6306019, 0.976451,
	0.7961552, 0.1952621, 0.706812,
	0.1360457, 1., 0.615752,
	-0.5756442, -0.3867295, 0.755245,
	0.8402574, -0.3867295, 0.442412,
	-0.624518, 0.6132705, 0.534039,
	-0.5680774, -0.8619288, 0.325484,
	-1.154386, 0, 0.255053,
	0.7913836, 0.6132705, 0.221206,
	0.6523289, -0.8619288, 0.0558442,
	1.154386, 0, -0.255053,
	-0.6523289, 0.8619288, -0.0558442,
	0.0488738, -1., 0.221206,
	0.5680774, 0.8619288, -0.325484,
	-0.0488738, 1., -0.221206,
	-0.7913836, -0.6132705, -0.221206,
	-0.1360457, -1., -0.615752,
	0.624518, -0.6132705, -0.534039,
	-0.8402574, 0.3867295, -0.442412,
	-0.2157394, 0.6306019, -0.976451,
	-0.7961552, -0.1952621, -0.706812,
	0.5756442, 0.3867295, -0.755245,
	0.4242512, -0.1952621, -0.976451,
	-0.2157394, -0.2265409, -0.976451,
};
static const int disdyakis_dodecahedron_faces[] = {
	3, 2, 0, 1,
	3, 2, 3, 0,
	3, 0, 4, 1,
	3, 1, 5, 2,
	3, 0, 3, 4,
	3, 3, 2, 6,
	3, 1, 4, 7,
	3, 2, 5, 8,
	3, 5, 1, 9,
	3, 3, 10, 4,
	3, 2, 11, 6,
	3, 6, 12, 3,
	3, 4, 13, 7,
	3, 7, 9, 1,
	3, 5, 9, 8,
	3, 8, 14, 2,
	3, 4, 10, 15,
	3, 10, 3, 12,
	3, 6, 11, 12,
	3, 11, 2, 14,
	3, 7, 13, 9,
	3, 13, 4, 16,
	3, 8, 9, 17,
	3, 14, 8, 18,
	3, 10, 12, 15,
	3, 15, 16, 4,
	3, 11, 19, 12,
	3, 14, 18, 11,
	3, 13, 20, 9,
	3, 16, 21, 13,
	3, 9, 22, 17,
	3, 17, 18, 8,
	3, 15, 12, 23,
	3, 16, 15, 21,
	3, 12, 19, 24,
	3, 19, 11, 18,
	3, 9, 20, 22,
	3, 20, 13, 21,
	3, 17, 22, 18,
	3, 12, 24, 23,
	3, 23, 21, 15,
	3, 19, 18, 24,
	3, 20, 21, 22,
	3, 22, 25, 18,
	3, 23, 24, 21,
	3, 24, 18, 25,
	3, 22, 21, 25,
	3, 24, 25, 21,
};
static const float rhombic_triacontahedron_verts[] = {
	0.309017, 0.190983, 0.951056,
	-0.309017, 0.5, 0.951056,
	-0.309017, -0.190983, 0.951056,
	0.309017, -0.5, 0.951056,
	0.809017, -0.190983, 0.587785,
	0.809017, 0.5, 0.587785,
	0.190983, 0.809017, 0.587785,
	-0.809017, 0.190983, 0.587785,
	-0.809017, -0.5, 0.587785,
	-0.190983, -0.809017, 0.587785,
	1., -0.5, 0,
	1., 0.190983, 0,
	0.5, -0.809017, 0.363271,
	0, 1.118034, 0,
	-0.5, 0.809017, 0.363271,
	0.618034, 0.809017, 0,
	-1., 0.5, 0,
	-1., -0.190983, 0,
	0, -1.118034, 0,
	-0.618034, -0.809017, 0,
	0.809017, -0.190983, -0.587785,
	0.809017, 0.5, -0.587785,
	0.5, -0.809017, -0.363271,
	-0.5, 0.809017, -0.363271,
	0.190983, 0.809017, -0.587785,
	-0.809017, 0.190983, -0.587785,
	-0.809017, -0.5, -0.587785,
	-0.190983, -0.809017, -0.587785,
	0.309017, -0.5, -0.951056,
	0.309017, 0.190983, -0.951056,
	-0.309017, 0.5, -0.951056,
	-0.309017, -0.190983, -0.951056,
};
static const int rhombic_triacontahedron_faces[] = {
	4, 3, 0, 1, 2,
	4, 3, 4, 5, 0,
	4, 0, 5, 6, 1,
	4, 1, 7, 8, 2,
	4, 2, 8, 9, 3,
	4, 5, 4, 10, 11,
	4, 4, 3, 12, 10,
	4, 1, 6, 13, 14,
	4, 6, 5, 15, 13,
	4, 8, 7, 16, 17,
	4, 7, 1, 14, 16,
	4, 3, 9, 18, 12,
	4, 9, 8, 19, 18,
	4, 10, 20, 21, 11,
	4, 11, 21, 15, 5,
	4, 12, 18, 22, 10,
	4, 13, 23, 16, 14,
	4, 15, 21, 24, 13,
	4, 16, 25, 26, 17,
	4, 17, 26, 19, 8,
	4, 19, 26, 27, 18,
	4, 21, 20, 28, 29,
	4, 20, 10, 22, 28,
	4, 22, 18, 27, 28,
	4, 16, 23, 30, 25,
	4, 23, 13, 24, 30,
	4, 24, 21, 29, 30,
	4, 26, 25, 30, 31,
	4, 27, 26, 31, 28,
	4, 28, 31, 30, 29,
};
static const float triakis_icosahedron_verts[] = {
	0.1683814, 0.618034, 0.985722,
	-0.4586047, -0.4472136, 0.985722,
	0.1683814, -0.09910636, 0.985722,
	0.7598146, -0.4472136, 0.777591,
	-0.4408282, 0.2594638, 0.864969,
	0.7029615, 0.2594638, 0.669586,
	-0.9391824, 0.5527864, 0.440828,
	0.114379, -0.7405362, 0.669586,
	1.032261, 0.5527864, 0.104065,
	-0.8713429, -0.1603575, 0.474204,
	-0.2827604, 0.8396425, 0.474204,
	0.0177765, -1.17082, 0.104065,
	0.9793478, -0.1603575, 0.158068,
	0.4241406, 0.8396425, 0.353451,
	-1.032261, -0.5527864, -0.104065,
	-0.0177765, 1.17082, -0.104065,
	-0.528206, -0.7783914, 0.353451,
	0.6155838, -0.7783914, 0.158068,
	0.9391824, -0.5527864, -0.440828,
	-0.9793478, 0.1603575, -0.158068,
	-0.6155838, 0.7783914, -0.158068,
	0.8713429, 0.1603575, -0.474204,
	0.528206, 0.7783914, -0.353451,
	-0.7598146, 0.4472136, -0.777591,
	-0.4241406, -0.8396425, -0.353451,
	0.2827604, -0.8396425, -0.474204,
	0.4586047, 0.4472136, -0.985722,
	-0.7029615, -0.2594638, -0.669586,
	-0.114379, 0.7405362, -0.669586,
	-0.1683814, -0.618034, -0.985722,
	0.4408282, -0.2594638, -0.864969,
	-0.1683814, 0.09910636, -0.985722,
};
static const int triakis_icosahedron_faces[] = {
	3, 2, 0, 1,
	3, 2, 3, 0,
	3, 0, 4, 1,
	3, 1, 3, 2,
	3, 0, 3, 5,
	3, 1, 4, 6,
	3, 4, 0, 6,
	3, 3, 1, 7,
	3, 3, 8, 5,
	3, 5, 8, 0,
	3, 6, 9, 1,
	3, 0, 10, 6,
	3, 1, 11, 7,
	3, 7, 11, 3,
	3, 8, 3, 12,
	3, 0, 8, 13,
	3, 1, 9, 14,
	3, 9, 6, 14,
	3, 6, 10, 15,
	3, 10, 0, 15,
	3, 11, 1, 16,
	3, 3, 11, 17,
	3, 3, 18, 12,
	3, 12, 18, 8,
	3, 8, 15, 13,
	3, 13, 15, 0,
	3, 14, 16, 1,
	3, 6, 19, 14,
	3, 15, 20, 6,
	3, 16, 14, 11,
	3, 11, 18, 17,
	3, 17, 18, 3,
	3, 8, 18, 21,
	3, 15, 8, 22,
	3, 14, 19, 23,
	3, 19, 6, 23,
	3, 6, 20, 23,
	3, 20, 15, 23,
	3, 11, 14, 24,
	3, 18, 11, 25,
	3, 18, 26, 21,
	3, 21, 26, 8,
	3, 8, 26, 22,
	3, 22, 26, 15,
	3, 23, 27, 14,
	3, 15, 28, 23,
	3, 14, 29, 24,
	3, 24, 29, 11,
	3, 11, 29, 25,
	3, 25, 29, 18,
	3, 26, 18, 30,
	3, 15, 26, 28,
	3, 14, 27, 29,
	3, 27, 23, 29,
	3, 23, 28, 26,
	3, 18, 29, 30,
	3, 30, 29, 26,
	3, 23, 31, 29,
	3, 26, 31, 23,
	3, 26, 29, 31,
};
static const float pentakis_dodecahedron_verts[] = {
	0.2017741, 0.381966, 0.979432,
	-0.4292385, -0.04863268, 0.979432,
	0.2017741, -0.295686, 0.979432,
	0.7814061, -0.04863268, 0.730026,
	-0.4035482, 0.591372, 0.758194,
	-0.2395937, -0.745356, 0.730026,
	0.6703638, 0.591372, 0.536956,
	0.5086258, -0.745356, 0.575884,
	-0.9219869, 0.254644, 0.480619,
	0.09901297, 0.9513673, 0.480619,
	-0.7950671, -0.408628, 0.536956,
	1.036877, 0.254644, 0.0770708,
	0.9425591, -0.408628, 0.178985,
	-0.5955095, 0.872678, 0.172336,
	0.03687301, -1.026662, 0.178985,
	-0.6151351, -0.872678, 0.0770708,
	0.6151351, 0.872678, -0.0770708,
	0.5955095, -0.872678, -0.172336,
	-0.9425591, 0.408628, -0.178985,
	-1.036877, -0.254644, -0.0770708,
	-0.03687301, 1.026662, -0.178985,
	0.7950671, 0.408628, -0.536956,
	0.9219869, -0.254644, -0.480619,
	-0.5086258, 0.745356, -0.575884,
	-0.09901297, -0.9513673, -0.480619,
	-0.6703638, -0.591372, -0.536956,
	0.2395937, 0.745356, -0.730026,
	0.4035482, -0.591372, -0.758194,
	-0.7814061, 0.04863268, -0.730026,
	0.4292385, 0.04863268, -0.979432,
	-0.2017741, 0.295686, -0.979432,
	-0.2017741, -0.381966, -0.979432,
};
static const int pentakis_dodecahedron_faces[] = {
	3, 2, 0, 1,
	3, 2, 3, 0,
	3, 0, 4, 1,
	3, 1, 5, 2,
	3, 0, 3, 6,
	3, 3, 2, 7,
	3, 1, 4, 8,
	3, 4, 0, 9,
	3, 2, 5, 7,
	3, 5, 1, 10,
	3, 3, 11, 6,
	3, 6, 9, 0,
	3, 7, 12, 3,
	3, 4, 13, 8,
	3, 8, 10, 1,
	3, 9, 13, 4,
	3, 5, 14, 7,
	3, 10, 15, 5,
	3, 6, 11, 16,
	3, 11, 3, 12,
	3, 9, 6, 16,
	3, 12, 7, 17,
	3, 8, 13, 18,
	3, 10, 8, 19,
	3, 13, 9, 20,
	3, 7, 14, 17,
	3, 14, 5, 15,
	3, 15, 10, 19,
	3, 11, 21, 16,
	3, 12, 22, 11,
	3, 16, 20, 9,
	3, 17, 22, 12,
	3, 13, 23, 18,
	3, 18, 19, 8,
	3, 20, 23, 13,
	3, 14, 24, 17,
	3, 15, 24, 14,
	3, 19, 25, 15,
	3, 16, 21, 26,
	3, 21, 11, 22,
	3, 20, 16, 26,
	3, 22, 17, 27,
	3, 18, 23, 28,
	3, 19, 18, 28,
	3, 23, 20, 26,
	3, 17, 24, 27,
	3, 24, 15, 25,
	3, 25, 19, 28,
	3, 21, 29, 26,
	3, 22, 29, 21,
	3, 27, 29, 22,
	3, 23, 30, 28,
	3, 26, 30, 23,
	3, 24, 31, 27,
	3, 25, 31, 24,
	3, 28, 31, 25,
	3, 26, 29, 30,
	3, 29, 27, 31,
	3, 28, 30, 31,
	3, 29, 31, 30,
};
static const float pentagonal_icositetrahedron_verts[] = {
	0.3721032, 0.2379147, 0.928191,
	-0.05980191, 0.4375933, 0.928191,
	-0.4222941, 0.1293516, 0.928191,
	-0.2946239, -0.3290302, 0.928191,
	0.3721032, -0.4375933, 0.928191,
	0.8541992, -0.3290302, 0.467639,
	0.9465147, 0.1293516, 0.379449,
	0.6844044, 0.4375933, 0.629846,
	0.5146097, 0.8048595, 0.379449,
	-0.1310552, 0.9589804, 0.504648,
	-0.7116927, 0.6372719, 0.379449,
	-0.77672, 0.2379147, 0.629846,
	-1.017768, -0.2834724, 0.274371,
	-0.5418979, -0.6051809, 0.629846,
	-0.2797876, -0.9134226, 0.379449,
	0.1874721, -0.8959751, 0.467639,
	0.4644187, -0.9134226, 0.0811035,
	0.8269109, -0.6051809, 0.0811035,
	0.8963238, -0.3785687, -0.331501,
	1.017768, 0.2834724, -0.274371,
	0.6342135, 0.8048595, -0.0811035,
	0.2797876, 0.9134226, -0.379449,
	-0.1372811, 1.004538, -0.169294,
	-0.5146097, 0.8048595, -0.379449,
	-0.8269109, 0.6051809, -0.0811035,
	-0.9886393, 0.1788901, -0.217242,
	-0.7538173, -0.6642055, -0.217242,
	-0.3950058, -0.9455136, -0.0811035,
	0.1310552, -0.9589804, -0.504648,
	0.5920889, -0.4966178, -0.677794,
	0.4222941, -0.1293516, -0.928191,
	0.5840225, 0.2969392, -0.792053,
	0.2524994, 0.6372719, -0.765984,
	-0.3721032, 0.4375933, -0.928191,
	-0.8120746, 0.02078851, -0.629846,
	-0.6844044, -0.4375933, -0.629846,
	-0.2673357, -0.5287088, -0.840001,
	-0.04496558, -0.1467991, -1.01638,
};
static const int pentagonal_icositetrahedron_faces[] = {
	5, 4, 0, 1, 2, 3,
	5, 0, 4, 5, 6, 7,
	5, 1, 0, 7, 8, 9,
	5, 2, 1, 9, 10, 11,
	5, 3, 2, 11, 12, 13,
	5, 4, 3, 13, 14, 15,
	5, 5, 4, 15, 16, 17,
	5, 6, 5, 17, 18, 19,
	5, 7, 6, 19, 20, 8,
	5, 9, 8, 20, 21, 22,
	5, 10, 9, 22, 23, 24,
	5, 11, 10, 24, 25, 12,
	5, 13, 12, 26, 27, 14,
	5, 15, 14, 27, 28, 16,
	5, 17, 16, 28, 29, 18,
	5, 19, 18, 29, 30, 31,
	5, 20, 19, 31, 32, 21,
	5, 22, 21, 32, 33, 23,
	5, 24, 23, 33, 34, 25,
	5, 12, 25, 34, 35, 26,
	5, 27, 26, 35, 36, 28,
	5, 29, 28, 36, 37, 30,
	5, 31, 30, 37, 33, 32,
	5, 34, 33, 37, 36, 35,
};
static const float deltoidal_hexecontahedron_verts[] = {
	0.223919, 0.236068, 0.974608,
	-0.1454638, 0.2165424, 0.974608,
	-0.3032091, -0.118034, 0.974608,
	0.223919, -0.3333333, 0.974608,
	0.698187, -0.118034, 0.744534,
	0.5562603, 0.2165424, 0.813385,
	0.1668994, 0.745356, 0.72643,
	-0.3358785, 0.5, 0.832414,
	-0.7531269, 0.127322, 0.72643,
	-0.4107965, -0.4330847, 0.813385,
	-0.1547242, -0.690983, 0.744534,
	0.6655177, 0.5, 0.602341,
	0.9946659, 0.127322, 0.324869,
	0.4641726, -0.690983, 0.602341,
	0.724617, -0.4330847, 0.55252,
	-0.2402536, 0.927051, 0.372267,
	-0.4707309, 0.7007458, 0.55252,
	-0.7145217, -0.427051, 0.602341,
	-0.7673818, 0.572949, 0.372267,
	0.1269431, -0.8345764, 0.55252,
	-0.4939678, -0.872678, 0.324869,
	0.6646826, 0.7007458, 0.291656,
	0.3786432, 0.927051, 0.230074,
	0.9057713, -0.427051, 0.230074,
	0.8529112, 0.572949, 0,
	0.5862275, -0.872678, 0.0766912,
	0.0299672, 1., 0.130432,
	-0.5862275, 0.872678, -0.0766912,
	-1.001396, 0, 0.230074,
	-0.9000481, -0.3503729, 0.291656,
	-0.9370896, 0.3503729, 0.130432,
	0.0528601, -1., 0.230074,
	-0.8529112, -0.572949, 0,
	0.4939678, 0.872678, -0.324869,
	0.9370896, -0.3503729, -0.130432,
	1.001396, 0, -0.230074,
	0.9000481, 0.3503729, -0.291656,
	0.7673818, -0.572949, -0.372267,
	-0.0528601, 1., -0.230074,
	-0.9057713, 0.427051, -0.230074,
	-0.9946659, -0.127322, -0.324869,
	-0.3786432, -0.927051, -0.230074,
	-0.0299672, -1., -0.130432,
	0.2402536, -0.927051, -0.372267,
	-0.6646826, -0.7007458, -0.291656,
	0.7145217, 0.427051, -0.602341,
	0.7531269, -0.127322, -0.72643,
	0.4707309, -0.7007458, -0.55252,
	-0.1269431, 0.8345764, -0.55252,
	-0.4641726, 0.690983, -0.602341,
	0.1547242, 0.690983, -0.744534,
	-0.724617, 0.4330847, -0.55252,
	-0.6655177, -0.5, -0.602341,
	-0.698187, 0.118034, -0.744534,
	-0.1668994, -0.745356, -0.72643,
	0.4107965, 0.4330847, -0.813385,
	0.3358785, -0.5, -0.832414,
	0.3032091, 0.118034, -0.974608,
	-0.223919, 0.3333333, -0.974608,
	-0.5562603, -0.2165424, -0.813385,
	-0.223919, -0.236068, -0.974608,
	0.1454638, -0.2165424, -0.974608,
};
static const int deltoidal_hexecontahedron_faces[] = {
	4, 3, 0, 1, 2,
	4, 3, 4, 5, 0,
	4, 0, 6, 7, 1,
	4, 1, 7, 8, 2,
	4, 2, 9, 10, 3,
	4, 0, 5, 11, 6,
	4, 5, 4, 12, 11,
	4, 4, 3, 13, 14,
	4, 7, 6, 15, 16,
	4, 2, 8, 17, 9,
	4, 8, 7, 16, 18,
	4, 3, 10, 19, 13,
	4, 10, 9, 17, 20,
	4, 11, 21, 22, 6,
	4, 4, 14, 23, 12,
	4, 12, 24, 21, 11,
	4, 13, 25, 23, 14,
	4, 6, 22, 26, 15,
	4, 15, 27, 18, 16,
	4, 8, 28, 29, 17,
	4, 18, 30, 28, 8,
	4, 10, 20, 31, 19,
	4, 19, 31, 25, 13,
	4, 17, 29, 32, 20,
	4, 22, 21, 24, 33,
	4, 12, 23, 34, 35,
	4, 24, 12, 35, 36,
	4, 23, 25, 37, 34,
	4, 15, 26, 38, 27,
	4, 26, 22, 33, 38,
	4, 18, 27, 39, 30,
	4, 29, 28, 40, 32,
	4, 28, 30, 39, 40,
	4, 31, 20, 41, 42,
	4, 25, 31, 42, 43,
	4, 20, 32, 44, 41,
	4, 24, 36, 45, 33,
	4, 34, 37, 46, 35,
	4, 35, 46, 45, 36,
	4, 25, 43, 47, 37,
	4, 38, 48, 49, 27,
	4, 33, 50, 48, 38,
	4, 27, 49, 51, 39,
	4, 40, 52, 44, 32,
	4, 39, 51, 53, 40,
	4, 41, 54, 43, 42,
	4, 44, 52, 54, 41,
	4, 33, 45, 55, 50,
	4, 46, 37, 47, 56,
	4, 45, 46, 57, 55,
	4, 47, 43, 54, 56,
	4, 49, 48, 50, 58,
	4, 51, 49, 58, 53,
	4, 52, 40, 53, 59,
	4, 54, 52, 59, 60,
	4, 55, 57, 58, 50,
	4, 56, 61, 57, 46,
	4, 54, 60, 61, 56,
	4, 58, 60, 59, 53,
	4, 58, 57, 61, 60,
};
static const float disdyakis_triacontahedron_verts[] = {
	0.1314961, 0.1338305, 0.991317,
	-0.2383452, 0.127322, 0.991317,
	0.1314961, -0.4472136, 0.991317,
	0.4885473, 0.127322, 0.894896,
	0.1114053, 0.6944272, 0.839857,
	-0.3882567, -0.2007458, 0.909323,
	0.6118981, -0.2007458, 0.776655,
	-0.399133, 0.4172882, 0.82733,
	-0.5004043, -0.509288, 0.738884,
	-0.8486892, 0.0763932, 0.688397,
	0.6010218, 0.4172882, 0.694661,
	0.6757324, -0.509288, 0.582872,
	0.9988105, 0.0763932, 0.44333,
	-0.521099, 0.6666667, 0.582872,
	-0.2290796, -0.7421017, 0.643986,
	0.6550378, 0.6666667, 0.42686,
	0.3890501, -0.7421017, 0.561993,
	-0.257554, 0.8759323, 0.429324,
	-0.7597086, -0.4586441, 0.479999,
	0.06452671, -0.9027346, 0.486451,
	-0.554655, -0.9236068, 0.198263,
	0.3605756, 0.8759323, 0.34733,
	0.8585759, -0.4586441, 0.265337,
	0.5871626, -0.9236068, 0.0468036,
	-0.7773068, 0.5413559, 0.34733,
	0.03104202, 1., 0.234018,
	-0.5871626, 0.9236068, -0.0468036,
	-0.9451196, -0.36339, 0.174427,
	0.8409777, 0.5413559, 0.132668,
	0.554655, 0.9236068, -0.198263,
	0.9579096, -0.36339, -0.078006,
	-0.9579096, 0.36339, 0.078006,
	-1.000155, 0, 0.132668,
	0.01759819, -1., 0.132668,
	0.9451196, 0.36339, -0.174427,
	1.000155, 0, -0.132668,
	-0.01759819, 1., -0.132668,
	-0.8409777, -0.5413559, -0.132668,
	-0.9988105, -0.0763932, -0.44333,
	-0.03104202, -1., -0.234018,
	0.7773068, -0.5413559, -0.34733,
	0.8486892, -0.0763932, -0.688397,
	-0.8585759, 0.4586441, -0.265337,
	-0.06452671, 0.9027346, -0.486451,
	-0.6550378, -0.6666667, -0.42686,
	-0.3605756, -0.8759323, -0.34733,
	0.7597086, 0.4586441, -0.479999,
	0.521099, -0.6666667, -0.582872,
	0.257554, -0.8759323, -0.429324,
	-0.6757324, 0.509288, -0.582872,
	-0.3890501, 0.7421017, -0.561993,
	-0.1114053, -0.6944272, -0.839857,
	0.5004043, 0.509288, -0.738884,
	0.2290796, 0.7421017, -0.643986,
	-0.1314961, 0.4472136, -0.991317,
	-0.6010218, -0.4172882, -0.694661,
	0.399133, -0.4172882, -0.82733,
	-0.6118981, 0.2007458, -0.776655,
	-0.4885473, -0.127322, -0.894896,
	0.3882567, 0.2007458, -0.909323,
	0.2383452, -0.127322, -0.991317,
	-0.1314961, -0.1338305, -0.991317,
};
static const int disdyakis_triacontahedron_faces[] = {
	3, 2, 0, 1,
	3, 2, 3, 0,
	3, 0, 4, 1,
	3, 1, 5, 2,
	3, 0, 3, 4,
	3, 3, 2, 6,
	3, 1, 4, 7,
	3, 2, 5, 8,
	3, 5, 1, 9,
	3, 3, 10, 4,
	3, 2, 11, 6,
	3, 6, 12, 3,
	3, 4, 13, 7,
	3, 7, 9, 1,
	3, 5, 9, 8,
	3, 8, 14, 2,
	3, 4, 10, 15,
	3, 10, 3, 12,
	3, 6, 11, 12,
	3, 11, 2, 16,
	3, 7, 13, 9,
	3, 13, 4, 17,
	3, 8, 9, 18,
	3, 2, 14, 19,
	3, 14, 8, 20,
	3, 10, 12, 15,
	3, 15, 21, 4,
	3, 11, 22, 12,
	3, 2, 19, 16,
	3, 16, 23, 11,
	3, 13, 24, 9,
	3, 4, 25, 17,
	3, 17, 26, 13,
	3, 9, 27, 18,
	3, 18, 20, 8,
	3, 14, 20, 19,
	3, 15, 12, 28,
	3, 4, 21, 25,
	3, 21, 15, 29,
	3, 12, 22, 30,
	3, 22, 11, 23,
	3, 16, 19, 23,
	3, 9, 24, 31,
	3, 24, 13, 26,
	3, 17, 25, 26,
	3, 18, 27, 20,
	3, 27, 9, 32,
	3, 19, 20, 33,
	3, 12, 34, 28,
	3, 28, 29, 15,
	3, 21, 29, 25,
	3, 22, 23, 30,
	3, 30, 35, 12,
	3, 19, 33, 23,
	3, 24, 26, 31,
	3, 31, 32, 9,
	3, 25, 36, 26,
	3, 27, 37, 20,
	3, 32, 38, 27,
	3, 20, 39, 33,
	3, 28, 34, 29,
	3, 34, 12, 35,
	3, 25, 29, 36,
	3, 30, 23, 40,
	3, 35, 30, 41,
	3, 23, 33, 39,
	3, 31, 26, 42,
	3, 32, 31, 38,
	3, 26, 36, 43,
	3, 20, 37, 44,
	3, 37, 27, 38,
	3, 39, 20, 45,
	3, 34, 46, 29,
	3, 35, 41, 34,
	3, 29, 43, 36,
	3, 23, 47, 40,
	3, 40, 41, 30,
	3, 39, 48, 23,
	3, 26, 49, 42,
	3, 42, 38, 31,
	3, 43, 50, 26,
	3, 37, 38, 44,
	3, 44, 45, 20,
	3, 45, 51, 39,
	3, 29, 46, 52,
	3, 46, 34, 41,
	3, 43, 29, 53,
	3, 40, 47, 41,
	3, 47, 23, 48,
	3, 48, 39, 51,
	3, 42, 49, 38,
	3, 49, 26, 50,
	3, 50, 43, 54,
	3, 44, 38, 55,
	3, 45, 44, 51,
	3, 46, 41, 52,
	3, 52, 53, 29,
	3, 53, 54, 43,
	3, 47, 56, 41,
	3, 48, 51, 47,
	3, 49, 57, 38,
	3, 50, 54, 49,
	3, 38, 58, 55,
	3, 55, 51, 44,
	3, 52, 41, 59,
	3, 53, 52, 54,
	3, 41, 56, 60,
	3, 56, 47, 51,
	3, 38, 57, 58,
	3, 57, 49, 54,
	3, 55, 58, 51,
	3, 41, 60, 59,
	3, 59, 54, 52,
	3, 56, 51, 60,
	3, 57, 54, 58,
	3, 58, 61, 51,
	3, 59, 60, 54,
	3, 60, 51, 61,
	3, 58, 54, 61,
	3, 60, 61, 54,
};
static const float pentagonal_hexecontahedron_verts[] = {
	0.2319284, 0.1389806, 0.972733,
	-0.01318484, 0.2700603, 0.972733,
	-0.2443637, 0.1157271, 0.972733,
	-0.2172871, -0.1609121, 0.972733,
	0.2319284, -0.3474105, 0.972733,
	0.6328167, -0.1609121, 0.770043,
	0.6569803, 0.1157271, 0.757826,
	0.450672, 0.2700603, 0.862136,
	0.4118671, 0.524768, 0.757826,
	-0.03494478, 0.7157612, 0.779204,
	-0.4610267, 0.4821517, 0.757826,
	-0.4748357, 0.2248753, 0.862136,
	-0.807821, -0.07906707, 0.679608,
	-0.4222218, -0.3126766, 0.862136,
	-0.3587899, -0.5623929, 0.757826,
	-0.09402938, -0.6461487, 0.770043,
	0.4313637, -0.6461487, 0.644773,
	0.6621283, -0.5623929, 0.514408,
	0.7658016, -0.3126766, 0.578875,
	0.9153902, -0.1791742, 0.386358,
	0.9295636, 0.3067204, 0.403148,
	0.5815764, 0.6106627, 0.555136,
	0.4862954, 0.8008226, 0.376185,
	0.2267217, 0.8942775, 0.410098,
	-0.3127563, 0.8679392, 0.410098,
	-0.561992, 0.7496433, 0.376185,
	-0.6382961, 0.5511063, 0.555136,
	-0.8192969, 0.3588645, 0.468278,
	-0.7341657, -0.5109127, 0.468278,
	-0.519325, -0.6644108, 0.555136,
	-0.3209764, -0.9793389, 0.241999,
	-0.00485529, -0.8271609, 0.578875,
	0.2655267, -0.8271609, 0.514408,
	0.3398819, -0.9141271, 0.261089,
	0.7527863, -0.7409091, 0.0711372,
	0.9528016, -0.3029775, 0.140319,
	0.9961858, -0.1420654, -0.0821391,
	0.9996924, 0.1335024, -0.0459108,
	0.7933841, 0.6216485, 0.0583992,
	0.5952976, 0.8064762, 0.120551,
	0.3209764, 0.9793389, -0.241999,
	0.09090658, 0.9880731, 0.186449,
	-0.1867239, 0.9745186, 0.186449,
	-0.3170919, 0.9567434, -0.0583992,
	-0.7527863, 0.7409091, -0.0711372,
	-0.9137039, 0.3760884, 0.207408,
	-0.9961858, 0.1420654, 0.0821391,
	-0.9795717, -0.09587751, 0.224861,
	-0.9497342, -0.3325262, 0.0821391,
	-0.8234415, -0.5461149, 0.207408,
	-0.6928012, -0.732814, 0.0482261,
	0.1396282, -0.9961493, 0.086638,
	0.1867239, -0.9745186, -0.186449,
	0.431396, -0.8720954, -0.26956,
	0.8102012, -0.4943842, -0.3442,
	0.9227997, -0.2405687, -0.331486,
	0.807821, 0.07906707, -0.679608,
	0.9296135, 0.2949013, -0.261089,
	0.8234415, 0.5461149, -0.207408,
	0.6537036, 0.6597031, -0.395953,
	-0.1624182, 0.953533, -0.289328,
	-0.2655267, 0.8271609, -0.514408,
	-0.5174473, 0.7111833, -0.495764,
	-0.8861738, 0.3523188, -0.331486,
	-0.982018, 0.1298329, -0.195191,
	-0.9295636, -0.3067204, -0.403148,
	-0.6958805, -0.6953107, -0.227176,
	-0.4862954, -0.8008226, -0.376185,
	-0.2855458, -0.9378397, -0.241321,
	-0.03208251, -0.9445109, -0.355226,
	0.03494478, -0.7157612, -0.779204,
	0.4433524, -0.7454871, -0.516724,
	0.6382961, -0.5511063, -0.555136,
	0.5887621, -0.3507883, -0.741365,
	0.5997871, 0.5156204, -0.62746,
	0.3587899, 0.5623929, -0.757826,
	0.1854095, 0.7505892, -0.649273,
	-0.08652481, 0.7227204, -0.699646,
	-0.2319284, 0.3474105, -0.972733,
	-0.5760447, 0.4973583, -0.663418,
	-0.7658016, 0.3126766, -0.578875,
	-0.7481168, 0.05280211, -0.675906,
	-0.571274, -0.4571647, -0.695674,
	-0.4221694, -0.678266, -0.617287,
	0.3471003, -0.3562388, -0.878596,
	0.2443637, -0.1157271, -0.972733,
	0.3891294, 0.1165623, -0.924287,
	0.2503795, 0.3570264, -0.910581,
	-0.5416803, -0.007617117, -0.851962,
	-0.450672, -0.2700603, -0.862136,
	-0.1878216, -0.3146939, -0.940748,
	-0.03092203, -0.09434697, -1.00472,
};
static const int pentagonal_hexecontahedron_faces[] = {
	5, 4, 0, 1, 2, 3,
	5, 0, 4, 5, 6, 7,
	5, 1, 0, 7, 8, 9,
	5, 2, 1, 9, 10, 11,
	5, 3, 2, 11, 12, 13,
	5, 4, 3, 13, 14, 15,
	5, 5, 4, 16, 17, 18,
	5, 6, 5, 18, 19, 20,
	5, 7, 6, 20, 21, 8,
	5, 9, 8, 21, 22, 23,
	5, 10, 9, 24, 25, 26,
	5, 11, 10, 26, 27, 12,
	5, 13, 12, 28, 29, 14,
	5, 15, 14, 29, 30, 31,
	5, 4, 15, 31, 32, 16,
	5, 17, 16, 32, 33, 34,
	5, 18, 17, 34, 35, 19,
	5, 20, 19, 35, 36, 37,
	5, 21, 20, 38, 39, 22,
	5, 23, 22, 39, 40, 41,
	5, 9, 23, 41, 42, 24,
	5, 25, 24, 42, 43, 44,
	5, 26, 25, 44, 45, 27,
	5, 12, 27, 45, 46, 47,
	5, 28, 12, 47, 48, 49,
	5, 29, 28, 49, 50, 30,
	5, 31, 30, 51, 33, 32,
	5, 34, 33, 51, 52, 53,
	5, 35, 34, 54, 55, 36,
	5, 37, 36, 55, 56, 57,
	5, 20, 37, 57, 58, 38,
	5, 39, 38, 58, 59, 40,
	5, 41, 40, 60, 43, 42,
	5, 44, 43, 60, 61, 62,
	5, 45, 44, 63, 64, 46,
	5, 47, 46, 64, 65, 48,
	5, 49, 48, 65, 66, 50,
	5, 30, 50, 66, 67, 68,
	5, 51, 30, 68, 69, 52,
	5, 53, 52, 69, 70, 71,
	5, 34, 53, 71, 72, 54,
	5, 55, 54, 72, 73, 56,
	5, 57, 56, 74, 59, 58,
	5, 40, 59, 74, 75, 76,
	5, 60, 40, 76, 77, 61,
	5, 62, 61, 77, 78, 79,
	5, 44, 62, 79, 80, 63,
	5, 64, 63, 80, 81, 65,
	5, 66, 65, 82, 83, 67,
	5, 68, 67, 83, 70, 69,
	5, 71, 70, 84, 73, 72,
	5, 56, 73, 84, 85, 86,
	5, 74, 56, 86, 87, 75,
	5, 76, 75, 87, 78, 77,
	5, 79, 78, 88, 81, 80,
	5, 65, 81, 88, 89, 82,
	5, 83, 82, 89, 90, 70,
	5, 84, 70, 90, 91, 85,
	5, 86, 85, 91, 78, 87,
	5, 88, 78, 91, 90, 89,
};

// The official sixth Platonic solid
static const float teapot_verts[] = {
	1.4, 0.0, 2.4,
	1.4, -0.784, 2.4,
	0.784, -1.4, 2.4,
	0.0, -1.4, 2.4,
	1.3375, 0.0, 2.53125,
	1.3375, -0.749, 2.53125,
	0.749, -1.3375, 2.53125,
	0.0, -1.3375, 2.53125,
	1.4375, 0.0, 2.53125,
	1.4375, -0.805, 2.53125,
	0.805, -1.4375, 2.53125,
	0.0, -1.4375, 2.53125,
	1.5, 0.0, 2.4,
	1.5, -0.84, 2.4,
	0.84, -1.5, 2.4,
	0.0, -1.5, 2.4,
	-0.784, -1.4, 2.4,
	-1.4, -0.784, 2.4,
	-1.4, 0.0, 2.4,
	-0.749, -1.3375, 2.53125,
	-1.3375, -0.749, 2.53125,
	-1.3375, 0.0, 2.53125,
	-0.805, -1.4375, 2.53125,
	-1.4375, -0.805, 2.53125,
	-1.4375, 0.0, 2.53125,
	-0.84, -1.5, 2.4,
	-1.5, -0.84, 2.4,
	-1.5, 0.0, 2.4,
	-1.4, 0.784, 2.4,
	-0.784, 1.4, 2.4,
	0.0, 1.4, 2.4,
	-1.3375, 0.749, 2.53125,
	-0.749, 1.3375, 2.53125,
	0.0, 1.3375, 2.53125,
	-1.4375, 0.805, 2.53125,
	-0.805, 1.4375, 2.53125,
	0.0, 1.4375, 2.53125,
	-1.5, 0.84, 2.4,
	-0.84, 1.5, 2.4,
	0.0, 1.5, 2.4,
	0.784, 1.4, 2.4,
	1.4, 0.784, 2.4,
	0.749, 1.3375, 2.53125,
	1.3375, 0.749, 2.53125,
	0.805, 1.4375, 2.53125,
	1.4375, 0.805, 2.53125,
	0.84, 1.5, 2.4,
	1.5, 0.84, 2.4,
	1.75, 0.0, 1.875,
	1.75, -0.98, 1.875,
	0.98, -1.75, 1.875,
	0.0, -1.75, 1.875,
	2.0, 0.0, 1.35,
	2.0, -1.12, 1.35,
	1.12, -2.0, 1.35,
	0.0, -2.0, 1.35,
	2.0, 0.0, 0.9,
	2.0, -1.12, 0.9,
	1.12, -2.0, 0.9,
	0.0, -2.0, 0.9,
	-0.98, -1.75, 1.875,
	-1.75, -0.98, 1.875,
	-1.75, 0.0, 1.875,
	-1.12, -2.0, 1.35,
	-2.0, -1.12, 1.35,
	-2.0, 0.0, 1.35,
	-1.12, -2.0, 0.9,
	-2.0, -1.12, 0.9,
	-2.0, 0.0, 0.9,
	-1.75, 0.98, 1.875,
	-0.98, 1.75, 1.875,
	0.0, 1.75, 1.875,
	-2.0, 1.12, 1.35,
	-1.12, 2.0, 1.35,
	0.0, 2.0, 1.35,
	-2.0, 1.12, 0.9,
	-1.12, 2.0, 0.9,
	0.0, 2.0, 0.9,
	0.98, 1.75, 1.875,
	1.75, 0.98, 1.875,
	1.12, 2.0, 1.35,
	2.0, 1.12, 1.35,
	1.12, 2.0, 0.9,
	2.0, 1.12, 0.9,
	2.0, 0.0, 0.45,
	2.0, -1.12, 0.45,
	1.12, -2.0, 0.45,
	0.0, -2.0, 0.45,
	1.5, 0.0, 0.225,
	1.5, -0.84, 0.225,
	0.84, -1.5, 0.225,
	0.0, -1.5, 0.225,
	1.5, 0.0, 0.15,
	1.5, -0.84, 0.15,
	0.84, -1.5, 0.15,
	0.0, -1.5, 0.15,
	-1.12, -2.0, 0.45,
	-2.0, -1.12, 0.45,
	-2.0, 0.0, 0.45,
	-0.84, -1.5, 0.225,
	-1.5, -0.84, 0.225,
	-1.5, 0.0, 0.225,
	-0.84, -1.5, 0.15,
	-1.5, -0.84, 0.15,
	-1.5, 0.0, 0.15,
	-2.0, 1.12, 0.45,
	-1.12, 2.0, 0.45,
	0.0, 2.0, 0.45,
	-1.5, 0.84, 0.225,
	-0.84, 1.5, 0.225,
	0.0, 1.5, 0.225,
	-1.5, 0.84, 0.15,
	-0.84, 1.5, 0.15,
	0.0, 1.5, 0.15,
	1.12, 2.0, 0.45,
	2.0, 1.12, 0.45,
	0.84, 1.5, 0.225,
	1.5, 0.84, 0.225,
	0.84, 1.5, 0.15,
	1.5, 0.84, 0.15,
	-1.6, 0.0, 2.025,
	-1.6, -0.3, 2.025,
	-1.5, -0.3, 2.25,
	-1.5, 0.0, 2.25,
	-2.3, 0.0, 2.025,
	-2.3, -0.3, 2.025,
	-2.5, -0.3, 2.25,
	-2.5, 0.0, 2.25,
	-2.7, 0.0, 2.025,
	-2.7, -0.3, 2.025,
	-3.0, -0.3, 2.25,
	-3.0, 0.0, 2.25,
	-2.7, 0.0, 1.8,
	-2.7, -0.3, 1.8,
	-3.0, -0.3, 1.8,
	-3.0, 0.0, 1.8,
	-1.5, 0.3, 2.25,
	-1.6, 0.3, 2.025,
	-2.5, 0.3, 2.25,
	-2.3, 0.3, 2.025,
	-3.0, 0.3, 2.25,
	-2.7, 0.3, 2.025,
	-3.0, 0.3, 1.8,
	-2.7, 0.3, 1.8,
	-2.7, 0.0, 1.575,
	-2.7, -0.3, 1.575,
	-3.0, -0.3, 1.35,
	-3.0, 0.0, 1.35,
	-2.5, 0.0, 1.125,
	-2.5, -0.3, 1.125,
	-2.65, -0.3, 0.9375,
	-2.65, 0.0, 0.9375,
	-2.0, -0.3, 0.9,
	-1.9, -0.3, 0.6,
	-1.9, 0.0, 0.6,
	-3.0, 0.3, 1.35,
	-2.7, 0.3, 1.575,
	-2.65, 0.3, 0.9375,
	-2.5, 0.3, 1.125,
	-1.9, 0.3, 0.6,
	-2.0, 0.3, 0.9,
	1.7, 0.0, 1.425,
	1.7, -0.66, 1.425,
	1.7, -0.66, 0.6,
	1.7, 0.0, 0.6,
	2.6, 0.0, 1.425,
	2.6, -0.66, 1.425,
	3.1, -0.66, 0.825,
	3.1, 0.0, 0.825,
	2.3, 0.0, 2.1,
	2.3, -0.25, 2.1,
	2.4, -0.25, 2.025,
	2.4, 0.0, 2.025,
	2.7, 0.0, 2.4,
	2.7, -0.25, 2.4,
	3.3, -0.25, 2.4,
	3.3, 0.0, 2.4,
	1.7, 0.66, 0.6,
	1.7, 0.66, 1.425,
	3.1, 0.66, 0.825,
	2.6, 0.66, 1.425,
	2.4, 0.25, 2.025,
	2.3, 0.25, 2.1,
	3.3, 0.25, 2.4,
	2.7, 0.25, 2.4,
	2.8, 0.0, 2.475,
	2.8, -0.25, 2.475,
	3.525, -0.25, 2.49375,
	3.525, 0.0, 2.49375,
	2.9, 0.0, 2.475,
	2.9, -0.15, 2.475,
	3.45, -0.15, 2.5125,
	3.45, 0.0, 2.5125,
	2.8, 0.0, 2.4,
	2.8, -0.15, 2.4,
	3.2, -0.15, 2.4,
	3.2, 0.0, 2.4,
	3.525, 0.25, 2.49375,
	2.8, 0.25, 2.475,
	3.45, 0.15, 2.5125,
	2.9, 0.15, 2.475,
	3.2, 0.15, 2.4,
	2.8, 0.15, 2.4,
	0.0, 0.0, 3.15,
	0.0, -0.002, 3.15,
	0.002, 0.0, 3.15,
	0.8, 0.0, 3.15,
	0.8, -0.45, 3.15,
	0.45, -0.8, 3.15,
	0.0, -0.8, 3.15,
	0.0, 0.0, 2.85,
	0.2, 0.0, 2.7,
	0.2, -0.112, 2.7,
	0.112, -0.2, 2.7,
	0.0, -0.2, 2.7,
	-0.002, 0.0, 3.15,
	-0.45, -0.8, 3.15,
	-0.8, -0.45, 3.15,
	-0.8, 0.0, 3.15,
	-0.112, -0.2, 2.7,
	-0.2, -0.112, 2.7,
	-0.2, 0.0, 2.7,
	0.0, 0.002, 3.15,
	-0.8, 0.45, 3.15,
	-0.45, 0.8, 3.15,
	0.0, 0.8, 3.15,
	-0.2, 0.112, 2.7,
	-0.112, 0.2, 2.7,
	0.0, 0.2, 2.7,
	0.45, 0.8, 3.15,
	0.8, 0.45, 3.15,
	0.112, 0.2, 2.7,
	0.2, 0.112, 2.7,
	0.4, 0.0, 2.55,
	0.4, -0.224, 2.55,
	0.224, -0.4, 2.55,
	0.0, -0.4, 2.55,
	1.3, 0.0, 2.55,
	1.3, -0.728, 2.55,
	0.728, -1.3, 2.55,
	0.0, -1.3, 2.55,
	1.3, 0.0, 2.4,
	1.3, -0.728, 2.4,
	0.728, -1.3, 2.4,
	0.0, -1.3, 2.4,
	-0.224, -0.4, 2.55,
	-0.4, -0.224, 2.55,
	-0.4, 0.0, 2.55,
	-0.728, -1.3, 2.55,
	-1.3, -0.728, 2.55,
	-1.3, 0.0, 2.55,
	-0.728, -1.3, 2.4,
	-1.3, -0.728, 2.4,
	-1.3, 0.0, 2.4,
	-0.4, 0.224, 2.55,
	-0.224, 0.4, 2.55,
	0.0, 0.4, 2.55,
	-1.3, 0.728, 2.55,
	-0.728, 1.3, 2.55,
	0.0, 1.3, 2.55,
	-1.3, 0.728, 2.4,
	-0.728, 1.3, 2.4,
	0.0, 1.3, 2.4,
	0.224, 0.4, 2.55,
	0.4, 0.224, 2.55,
	0.728, 1.3, 2.55,
	1.3, 0.728, 2.55,
	0.728, 1.3, 2.4,
	1.3, 0.728, 2.4,
	0.0, 0.0, 0.0,
	1.5, 0.0, 0.15,
	1.5, 0.84, 0.15,
	0.84, 1.5, 0.15,
	0.0, 1.5, 0.15,
	1.5, 0.0, 0.075,
	1.5, 0.84, 0.075,
	0.84, 1.5, 0.075,
	0.0, 1.5, 0.075,
	1.425, 0.0, 0.0,
	1.425, 0.798, 0.0,
	0.798, 1.425, 0.0,
	0.0, 1.425, 0.0,
	-0.84, 1.5, 0.15,
	-1.5, 0.84, 0.15,
	-1.5, 0.0, 0.15,
	-0.84, 1.5, 0.075,
	-1.5, 0.84, 0.075,
	-1.5, 0.0, 0.075,
	-0.798, 1.425, 0.0,
	-1.425, 0.798, 0.0,
	-1.425, 0.0, 0.0,
	-1.5, -0.84, 0.15,
	-0.84, -1.5, 0.15,
	0.0, -1.5, 0.15,
	-1.5, -0.84, 0.075,
	-0.84, -1.5, 0.075,
	0.0, -1.5, 0.075,
	-1.425, -0.798, 0.0,
	-0.798, -1.425, 0.0,
	0.0, -1.425, 0.0,
	0.84, -1.5, 0.15,
	1.5, -0.84, 0.15,
	0.84, -1.5, 0.075,
	1.5, -0.84, 0.075,
	0.798, -1.425, 0.0,
	1.425, -0.798, 0.0,
};
static const int teapot_patches[] = {
	0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
	3, 16, 17, 18, 7, 19, 20, 21, 11, 22, 23, 24, 15, 25, 26, 27,
	18, 28, 29, 30, 21, 31, 32, 33, 24, 34, 35, 36, 27, 37, 38, 39,
	30, 40, 41, 0, 33, 42, 43, 4, 36, 44, 45, 8, 39, 46, 47, 12,
	12, 13, 14, 15, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
	15, 25, 26, 27, 51, 60, 61, 62, 55, 63, 64, 65, 59, 66, 67, 68,
	27, 37, 38, 39, 62, 69, 70, 71, 65, 72, 73, 74, 68, 75, 76, 77,
	39, 46, 47, 12, 71, 78, 79, 48, 74, 80, 81, 52, 77, 82, 83, 56,
	56, 57, 58, 59, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
	59, 66, 67, 68, 87, 96, 97, 98, 91, 99, 100, 101, 95, 102, 103, 104,
	68, 75, 76, 77, 98, 105, 106, 107, 101, 108, 109, 110, 104, 111, 112, 113,
	77, 82, 83, 56, 107, 114, 115, 84, 110, 116, 117, 88, 113, 118, 119, 92,
	120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
	123, 136, 137, 120, 127, 138, 139, 124, 131, 140, 141, 128, 135, 142, 143, 132,
	132, 133, 134, 135, 144, 145, 146, 147, 148, 149, 150, 151, 68, 152, 153, 154,
	135, 142, 143, 132, 147, 155, 156, 144, 151, 157, 158, 148, 154, 159, 160, 68,
	161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
	164, 177, 178, 161, 168, 179, 180, 165, 172, 181, 182, 169, 176, 183, 184, 173,
	173, 174, 175, 176, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
	176, 183, 184, 173, 188, 197, 198, 185, 192, 199, 200, 189, 196, 201, 202, 193,
	203, 203, 203, 203, 206, 207, 208, 209, 210, 210, 210, 210, 211, 212, 213, 214,
	203, 203, 203, 203, 209, 216, 217, 218, 210, 210, 210, 210, 214, 219, 220, 221,
	203, 203, 203, 203, 218, 223, 224, 225, 210, 210, 210, 210, 221, 226, 227, 228,
	203, 203, 203, 203, 225, 229, 230, 206, 210, 210, 210, 210, 228, 231, 232, 211,
	211, 212, 213, 214, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
	214, 219, 220, 221, 236, 245, 246, 247, 240, 248, 249, 250, 244, 251, 252, 253,
	221, 226, 227, 228, 247, 254, 255, 256, 250, 257, 258, 259, 253, 260, 261, 262,
	228, 231, 232, 211, 256, 263, 264, 233, 259, 265, 266, 237, 262, 267, 268, 241,
	269, 269, 269, 269, 278, 279, 280, 281, 274, 275, 276, 277, 270, 271, 272, 273,
	269, 269, 269, 269, 281, 288, 289, 290, 277, 285, 286, 287, 273, 282, 283, 284,
	269, 269, 269, 269, 290, 297, 298, 299, 287, 294, 295, 296, 284, 291, 292, 293,
	269, 269, 269, 269, 299, 304, 305, 278, 296, 302, 303, 274, 293, 300, 301, 270,
};
#endif
